Du bist nicht angemeldet.

Kontrollzentrum

Spenden

Jeder Euro hilft uns, euch zu helfen.

Adsense

Downloads

Stabil: 3.3.8.1 (Q, H)
Stabil: 3.3.12.0 (Q, H)
Beta: 3.3.11.5 (Q, H)
SciTE: 4/5/2014 (Q, H)
Hilfe Deutsch: 12/23/2013 (Q)
Download: OrganizeIncludes (Q)
Stand: 02.06.2014 - 2:21 Uhr

Lieber Besucher, herzlich willkommen bei: AutoIt.de - Das deutsche AutoIt-Forum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

oetzn

User

  • »oetzn« ist der Autor dieses Themas

Registrierungsdatum: 18. November 2009

  • Private Nachricht senden

1

Samstag, 3. April 2010, 17:53

UDF - VLC MEDIA PLAYER - OBJEKT

Hi leute,

ich hab vorgestern zufällig entdeckt, dass man den VLC Media Player als Objekt einbinden kann oder wie auch immer man da sagt xD
Also hab ich mal eine UDF geschrieben um diese Funktionen auch ordentlich nutzen zu können.

Ist jetzt nicht wirklich etwas Atemberaubendes, da es hauptsächlich Schreibarbeit war, aber vielleicht kann es ja doch einmal wer benutzen :D

Ein paar Funktionen fehlen noch bzw funktionieren noch nicht (unter anderem Lautstärke regeln, aktuellen Track auslesen, etc -.-)
EDIT1: Ok, ich hab jetzt mal die UDF geupdated(t?), jetzt sollten alle derzeitigen Funktionen korrekt arbeiten!
Man kann damit auch Videos wiedergeben, und ich werd mich später nochmal dransetzen und noch ein paar Video-Funktionen hinzufügen.
EDIT2: Sorry aber es funktioniert bei mir im Moment das AutoIt-Highlighting nicht, jetzt hab ichs in einen ganz normalen Code-Tag gepackt.



Hier die UDF:

  Spoiler Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
#include-Once

; #INDEX# =========================================================================================
; Title .........: VLC
; AutoIt Version : 3.3.6.0
; Language ..... : English
; Description ...: Functions to use the VideoLAN VLC ActiveX Plugin
; Author(s) .....: oetzn - autoit.de
; =================================================================================================

; #VARIABLES =====================================================================================
Global Const $CLSID = "{9BE31822-FDAD-461B-AD51-BE1D1C159921}"
Global $oError = _InitComErrFunc()
Global $oVLC
Global $oPlaylist
Global $oAudio
Global $oLog
Global $oInput
; =================================================================================================

; #CURRENT# =======================================================================================
; _VLC_PlayItem
; _VLC_Play_Resume
; _VLC_Stop
; _VLC_ChangeItem
; _VLC_IsPlaying
; _VLC_RemoveItem
; _VLC_TogglePause
; _VLC_AddItem
; _VLC_GetPlayListCount
; _VLC_ClearPlayList
; _VLC_SetMuteState
; _VLC_GetMuteState
; _VLC_ToggleMute
; _VLC_Volume
; _VLC_GetTrack
; _VLC_ChannelState
; _VLC_Obj_Init
; _VLC_AutoPlayState
; _VLC_AutoLoopState
; _VLC_BaseURLState
; _VLC_GetCurVersion
; _VLC_GetPluginInfo
; _VLC_HasVout
; =================================================================================================

; #INTERNAL_USE_ONLY#==============================================================================
; __VLC_PlaylistObj
; __VLC_LogObj
; __VLC_AudioObj
; __VLC_InputObj
; _InitComErrFunc
; _ComErrorObj
; =================================================================================================

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_PlayItem
; Description ...: Plays an item in the Playlist (zero-based index)
; Syntax.........: _VLC_PlayItem(ByRef $oVLC, $iIndex)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $iIndex - zero-based index of the item in the playlist
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_PlayItem(ByRef $oVLC, $iIndex)
If IsObj($oVLC) Then
$oPlaylist.playitem($iIndex)
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_PlayItem

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_Play_Resume
; Description ...: Plays/resumes the current track
; Syntax.........: _VLC_Play_Resume(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_Play_Resume(ByRef $oVLC)
If IsObj($oVLC) Then
$oPlaylist.play
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_Play_Resume

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_Stop
; Description ...: Stops the current track
; Syntax.........: _VLC_Stop(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_Stop(ByRef $oVLC)
If IsObj($oVLC) Then
$oPlaylist.stop
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_Stop

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_ChangeItem
; Description ...: Changes the item which should be played
; Syntax.........: _VLC_ChangeItem(ByRef $oVLC, $bNext = True)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $bNext (optional) - True = next song will be played, False = previous song will be played
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_ChangeItem(ByRef $oVLC, $bNext = True)
If IsObj($oVLC) Then
Switch $bNext
Case True
$oPlaylist.Next
Return 1

Case False
$oPlaylist.prev
Return 1
EndSwitch
Else
Return -1
EndIf
EndFunc ;==>_VLC_ChangeItem

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_IsPlaying
; Description ...: Returns the current playing state
; Syntax.........: _VLC_IsPlaying(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success:
; True = Playing
; False = Not Playing
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_IsPlaying(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oPlaylist.isPlaying
Else
Return -1
EndIf
EndFunc ;==>_VLC_IsPlaying

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_RemoveItem
; Description ...: Removes an item from the playlist
; Syntax.........: _VLC_RemoveItem(ByRef $oVLC, $iItem)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $iItem - zero-based index of the item to remove
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: DOES NOT STOP THE MUSIC IF LAST ITEM IS REMOVED AND EVEN IF PLAYING ITEM IS REMOVED
; Related .......:
; ===============================================================================================================================
Func _VLC_RemoveItem(ByRef $oVLC, $iItem)
If IsObj($oVLC) And IsInt($iItem) Then
$oPlaylist.removeItem($iItem)
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_RemoveItem

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_TogglePause
; Description ...: Toggles the playing state; paused/playing
; Syntax.........: _VLC_TogglePause(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_TogglePause(ByRef $oVLC)
If IsObj($oVLC) Then
$oPlaylist.togglePause
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_TogglePause

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_AddItem
; Description ...: Adds an item to the playlist
; Syntax.........: _VLC_AddItem(ByRef $oVLC, $sItem)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $sItem - Path to the media file
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_AddItem(ByRef $oVLC, $sItem)
If IsObj($oVLC) And IsString($sItem) Then
$oPlaylist.add($sItem)
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_AddItem

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetPlayListCount
; Description ...: Returnes the current count of items in playlist
; Syntax.........: _VLC_GetPlayListCount(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_GetPlayListCount(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oPlaylist.itemCount
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetPlayListCount

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_ClearPlayList
; Description ...: Deletes all items from the playlist
; Syntax.........: _VLC_ClearPlayList(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: DOES NOT STOP THE MUSIC IF LAST ITEM IS REMOVED AND EVEN IF PLAYING ITEM IS REMOVED
; Related .......:
; ===============================================================================================================================
Func _VLC_ClearPlayList(ByRef $oVLC)
If IsObj($oVLC) Then
$oPlaylist.clear
Return 1
Else
Return -1
EndIf
EndFunc ;==>_VLC_ClearPlayList

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_SetMuteState
; Description ...: Sets the mute state
; Syntax.........: _VLC_ClearPlayList(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $bMute - Boolean Variable (True = mute, False = unmute)
; Return values .: Success: 1 (if $oVLC is an object)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_SetMuteState(ByRef $oVLC, $bMute)
If IsObj($oVLC) And IsBool($bMute) Then
Return $oAudio.mute = $bMute
Else
Return -1
EndIf
EndFunc ;==>_VLC_SetMuteState

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetMuteState
; Description ...: Returns the current mute state
; Syntax.........: _VLC_GetMuteState(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success:
; True = muted
; False = unmuted
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_GetMuteState(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oAudio.mute
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetMuteState

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_ToggleMute
; Description ...: Toggles the mute state
; Syntax.........: _VLC_ToggleMute(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: Returns nothing
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_ToggleMute(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oAudio.toggleMute
Else
Return -1
EndIf
EndFunc ;==>_VLC_ToggleMute

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetTrackLength
; Description ...: Returns the length of the current track
; Syntax.........: _VLC_GetPlaybackTime(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: Returns the length of the current track in millisecounds
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_GetTrackLength(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oInput.Length
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetTrackLength

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetPlaybackTime
; Description ...: Returns the playback time of the current track
; Syntax.........: _VLC_GetPlaybackTime(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: Returns the playback time of the current track in millisecounds
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:playback time = time since the track has started playing
; Related .......:
; ===============================================================================================================================
Func _VLC_GetPlaybackTime(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oInput.time
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetPlaybackTime

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_Volume
; Description ...: Sets/Gets the volume (Range 0-200)
; Syntax.........: _VLC_Volume(ByRef $oVLC, $iVolume, $bGet = True)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $iVolume - Integer 0-200
; $bGet - (Optional) Boolean; True: Gets the volume, False: Sets the volume
; Return values .: Success:
; $bGet = True: The current volume
; $bGet = False: If you look for the return value (in a MsgBox) a comparison will be made between the current volume and $iVolume (Return True if the comparison matches and False if the values are different)
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_Volume(ByRef $oVLC, $iVolume, $bGet = True)
If IsObj($oVLC) And IsInt($iVolume) And IsBool($bGet) Then
Switch $bGet
Case True
Return $oAudio.volume

Case False
Return $oAudio.volume = $iVolume
EndSwitch
Else
Return -1
EndIf
EndFunc ;==>_VLC_Volume

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetTrack
; Description ...: Returns the current track index
; Syntax.........: _VLC_GetTrack(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: Returns the current track
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_GetTrack(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oAudio.track
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetTrack

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_ChannelState
; Description ...: Returns/sets the channel
; Syntax.........: _VLC_ChannelState(ByRef $oVLC, $iChannelID, $iReturnType = "0", $sType = "GET")
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; $iChannelID - If $sType = "SET" Then this parameter indizes which channel should be used (see Remarks)
; $iReturnType - 0 OR 1, switches the return type; 0 returns just the number of the channel, 1 returns a string
; $sType - switches between returning or settings the channel
; Return values .: Success:
; If $sType = "GET" returns the current channel used
; If $sType = "SET" returns nothing
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: If $sType = "GET" Then the parameter $iChannelID is ignored, if $sType = "SET" Then the parameter $iReturnType is ignored
; $iChannelID can be 1,2,3,4,5; 1 = stereo, 2 = reverse stereo, 3 = left, 4 = right, 5 = dolby
; Related .......:
; ===============================================================================================================================
Func _VLC_ChannelState(ByRef $oVLC, $iChannelID, $iReturnType = "0", $sType = "GET")
If IsObj($oVLC) And IsInt($iChannelID) And IsInt($iReturnType) And IsString($sType) Then
Switch $sType
Case "GET"
Switch $iReturnType
Case 0
Return $oAudio.channel

Case 1
Switch $oAudio.channel
Case 1
Return "stereo"
Case 2
Return "reverse stereo"
Case 3
Return "left"
Case 4
Return "right"
Case 5
Return "dolby"

EndSwitch
EndSwitch

Case "SET"
Return $oAudio.channel = $iChannelID

Case Else
Return -2
EndSwitch
Else
Return -1
EndIf
EndFunc ;==>_VLC_ChannelState

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_Obj_Init
; Description ...: Creates the VLC Object
; Syntax.........: _VLC_Obj_Init()
; Parameters ....:
; Return values .: Success: Returns the VLC Object and intializes 3 other necessary objects
; Failure: -1 if object could not be created
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_Obj_Init()
$oVLC = ObjCreate("VideoLAN.VLCPlugin.2")
If IsObj($oVLC) Then
$oPlaylist = __VLC_PlaylistObj($oVLC)
$oAudio = __VLC_AudioObj($oVLC)
$oLog = __VLC_LogObj($oVLC)
$oInput = __VLC_InputObj($oVLC)
Return $oVLC
Else
Return -1
EndIf
EndFunc ;==>_VLC_Obj_Init

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetCurVersion
; Description ...: Returns the version of the VLC plugin
; Syntax.........: _VLC_GetCurVersion(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: Returns the version
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; ===============================================================================================================================
Func _VLC_GetCurVersion(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oVLC.VersionInfo
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetCurVersion

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_GetPluginInfo
; Description ...: Returns information about the plugin
; Syntax.........: _VLC_GetPluginInfo(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: Returns an 1D-array containing the information
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......:
; [0] = Name of the dispatch interface being used
; [1] = Description of the (document) Object
; [2] = The ProgID of the Object
; [3] = The DLL file from with the Object was created
; [4] = Filename and position of the toolbox icon
; Related .......:
; ===============================================================================================================================
Func _VLC_GetPluginInfo(ByRef $oVLC)
Local $aInfo[5]
If IsObj($oVLC) Then
For $i = 1 To 5
$aInfo[$i - 1] = ObjName($oVLC, $i)
Next
Return $aInfo
Else
Return -1
EndIf
EndFunc ;==>_VLC_GetPluginInfo

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_AutoPlayState
; Description ...: Sets/Gets the autoplay state
; Syntax.........: _VLC_AutoPlayState(ByRef $oVLC, $bAutoPlay, $sType = "GET")
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success:
; If $sType = "GET" returns True if AutoPlay is enable, false if AutoPlay is disable
; If $sType = "SET" returns nothing
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: If $sType is "GET the parameter $bAutoPlay is ignored
; Related .......:
; ===============================================================================================================================
Func _VLC_AutoPlayState(ByRef $oVLC, $bAutoPlay, $sType = "GET")
If IsObj($oVLC) And IsBool($bAutoPlay) Then
Switch $sType
Case "GET"
Return $oVLC.AutoPlay

Case "SET"
Return $oVLC.AutoPlay = $bAutoPlay
EndSwitch
Else
Return -1
EndIf
EndFunc ;==>_VLC_AutoPlayState

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_AutoLoopState
; Description ...: Sets/Gets the autoloop state
; Syntax.........: _VLC_AutoLoopState(ByRef $oVLC, $bAutoLoop, $sType = "GET")
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success:
; If $sType = "GET" returns True if Autoloop is enable, false if Autoloop is disable
; If $sType = "SET" returns nothing
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: If $sType is "GET" the parameter $bAutoLoop is ignored
; Related .......:
; ===============================================================================================================================
Func _VLC_AutoLoopState(ByRef $oVLC, $bAutoLoop, $sType = "GET")
If IsObj($oVLC) And IsBool($bAutoLoop) Then
Switch $sType
Case "GET"
Return $oVLC.AutoLoop

Case "SET"
Return $oVLC.AutoLoop = $bAutoLoop
EndSwitch
Else
Return -1
EndIf
EndFunc ;==>_VLC_AutoLoopState

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_BaseURLState
; Description ...: Sets/Gets the base URL
; Syntax.........: _VLC_BaseURLState(ByRef $oVLC, $sPath, $sType = "GET")
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success:
; If $sType = "GET" returns the BASE URL
; If $sType = "SET" returns True if the current BASE URL is the same as $sPath and False if they are different, but the BASE URL will not be set if you look for the return value.
; If you look for the return value, a comparison will be made.
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: If $sType is "GET" the parameter $sPath is ignored
; If no BaseURL was set, the function will return an empty string if asking for the BaseURL
; Related .......:
; ===============================================================================================================================
Func _VLC_BaseURLState(ByRef $oVLC, $sPath, $sType = "GET")
If IsObj($oVLC) And IsString($sPath) And IsString($sType) Then
Switch $sType
Case "GET"
Return $oVLC.BaseURL

Case "SET"
Return $oVLC.BaseURL = $sPath

Case Else
Return -2
EndSwitch
Else
Return -1
EndIf
EndFunc ;==>_VLC_BaseURLState

; #FUNCTION# ====================================================================================================================
; Name...........: _VLC_HasVout
; Description ...: Returns whether the current item displays a video
; Syntax.........: _VLC_HasVout(ByRef $oVLC)
; Parameters ....: $oVLC - Object Variable returned by _VLC_Obj_Init
; Return values .: Success: True = Video is displayed by item
; False = No Video is displayed by item
; Failure: -1 (if $oVLC is no object)
;
; Author ........: Thomas Eizinger (oetzn - autoit.de)
; Modified.......:
; Remarks .......: Requires a small Sleep(~500) if called immediately after _VLC_Play_Resume or _VLC_PlayItem, otherwise may return False even if a video is played
; Related .......:
; ===============================================================================================================================
Func _VLC_HasVout(ByRef $oVLC)
If IsObj($oVLC) Then
Return $oInput.hasVout
Else
Return -1
EndIf
EndFunc ;==>_VLC_HasVout


; #INTERNAL_USE_ONLY#==============================================================================
; =================================================================================================

Func __VLC_PlaylistObj(ByRef $oVLC)
If IsObj($oVLC) Then Return $oVLC.playlist
EndFunc ;==>__VLC_PlaylistObj

Func __VLC_LogObj(ByRef $oVLC)
If IsObj($oVLC) Then Return $oVLC.log
EndFunc ;==>__VLC_LogObj

Func __VLC_AudioObj(ByRef $oVLC)
If IsObj($oVLC) Then Return $oVLC.audio
EndFunc ;==>__VLC_AudioObj

Func __VLC_InputObj(ByRef $oVLC)
If IsObj($oVLC) Then Return $oVLC.input
EndFunc ;==>__VLC_InputObj

Func _InitComErrFunc()
Global $g_eventerror = 0
$oError = ObjEvent("AutoIt.Error", "_ComErrorObj")
If IsObj($oError) Then Return $oError
EndFunc ;==>_InitComErrFunc

Func _ComErrorObj()
MsgBox(48, "COM/OBJECT ERROR!", "Errorcode: 0x" & Hex($oError.number, 8) & @CRLF & _
"Error in line: " & $oError.scriptline & @CRLF & _
"Error describition: " & $oError.windescription)
;~ "$oError.lastdllerror: " & $oError.lastdllerror & @CRLF & _
;~ "$oError.description: " & $oError.description & @CRLF & _
;~ "$oError.helpfile: " & $oError.helpfile & @CRLF & _
;~ "$oError.source: " & $oError.source & @CRLF & _
;~ "$oError.helpcontext: " & $oError.helpcontext & @CRLF & _
;~ )
$g_eventerror = 1
EndFunc ;==>_ComErrorObj

; =================================================================================================
; =================================================================================================


Viel Spaß : D
»oetzn« hat folgende Datei angehängt:
  • VLC.au3 (29,24 kB - 819 mal heruntergeladen - zuletzt: 3. Juni 2014, 13:56)

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »oetzn« (5. April 2010, 12:19)


Registrierungsdatum: 20. Februar 2010

Wohnort: 500 Lichtsekunden entfernt von der Sonne

  • Private Nachricht senden

2

Samstag, 3. April 2010, 18:08

Schon .setvolume anstatt .volume probiert? Vielleicht funktioniert das ja.
Ich werde die UDF jetzt mal testen. :D[MSIE_newline_end ]

oetzn

User

  • »oetzn« ist der Autor dieses Themas

Registrierungsdatum: 18. November 2009

  • Private Nachricht senden

3

Samstag, 3. April 2010, 18:13

jop, jetzt gerade..

hätte mich aber gewundert wenn es gehen würde, da davon nix in der dll steht :D

super danke fürs ausprobiern ;)
PS: Opera 10.5 :rock:

[MSIE_newline_end ]

Registrierungsdatum: 20. Februar 2010

Wohnort: 500 Lichtsekunden entfernt von der Sonne

  • Private Nachricht senden

4

Samstag, 3. April 2010, 18:19

1ster Fehler :D

Quellcode

1
Errorcode: 0x800401F3Error in line: 528Error describtion: Ungültige Klassenzeichenfolge
[MSIE_newline_end ]

oetzn

User

  • »oetzn« ist der Autor dieses Themas

Registrierungsdatum: 18. November 2009

  • Private Nachricht senden

5

Samstag, 3. April 2010, 18:26

hast du denn den VLC Media Player installiert? xD
sonst wird das nix^^[MSIE_newline_end ]

Registrierungsdatum: 20. Februar 2010

Wohnort: 500 Lichtsekunden entfernt von der Sonne

  • Private Nachricht senden

6

Samstag, 3. April 2010, 18:29

Natürlich :D:D
Installliere gerade die neue Version. Vielleicht liegt es daran.
Edit: Habe 1.0.5 installiert, doch keine Veränderung. Liegt es vielleicht daran, dass ich ein 64-Bit System habe? Script ist kompiliert und als Admin ausgeführt worden.[MSIE_newline_end ]

oetzn

User

  • »oetzn« ist der Autor dieses Themas

Registrierungsdatum: 18. November 2009

  • Private Nachricht senden

7

Samstag, 3. April 2010, 19:04

hmm, daran könnte es liegen..
Ich muss jetzt leider weg, und kann mich vorraussichtlich erst morgen wieder damit beschäftigen..

Also schönen Abend noch und vielleicht kommst du ja selber drauf xD
Wie gesagt, ich schaus mir morgen an, und werd versuchen ob sich da was machen lässt.
Google mal nach dem Error, also nach "Ungültige Klassenzeichenfolge" vielleicht findest du da was.

Tschau bis morgen

oetzn

User

  • »oetzn« ist der Autor dieses Themas

Registrierungsdatum: 18. November 2009

  • Private Nachricht senden

8

Montag, 5. April 2010, 11:07

@Higggiii

Ich hab mal in meiner Registry nach der CLSID von dem Plugin geschaut und dabei die folgenden Einträge gefunden:

  Spoiler Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[HKEY_CLASSES_ROOT\AppID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}]
@="VideoLAN VLC ActiveX Plugin v2"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}]
@="VideoLAN VLC ActiveX Plugin v2"
"AppID"="{9BE31822-FDAD-461B-AD51-BE1D1C159921}"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Control]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{0DE86A57-2BAA-11CF-A229-00AA003D7352}]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{0DE86A58-2BAA-11CF-A229-00AA003D7352}]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{40FC6ED4-2438-11CF-A3DB-080036F12502}]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\InprocServer32]
@="C:\\Programme\\VideoLAN\\VLC\\axvlc.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\MiscStatus]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\MiscStatus\1]
@="131473"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\ProgID]
@="VideoLAN.VLCPlugin.2"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Programmable]

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\ToolboxBitmap32]
@="C:\\Programme\\VideoLAN\\VLC\\axvlc.dll,1"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\TypeLib]
@="{DF2BBE39-40A8-433B-A279-073F48DA94B6}"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Version]
@="1.0"

[HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\VersionIndependentProgID]
@="VideoLAN.VLCPlugin"

[HKEY_CLASSES_ROOT\VideoLAN.VLCPlugin\CLSID]
@="{9BE31822-FDAD-461B-AD51-BE1D1C159921}"

[HKEY_CLASSES_ROOT\VideoLAN.VLCPlugin.2\CLSID]
@="{9BE31822-FDAD-461B-AD51-BE1D1C159921}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}]
@="VideoLAN VLC ActiveX Plugin v2"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}]
@="VideoLAN VLC ActiveX Plugin v2"
"AppID"="{9BE31822-FDAD-461B-AD51-BE1D1C159921}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Control]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{0DE86A57-2BAA-11CF-A229-00AA003D7352}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{0DE86A58-2BAA-11CF-A229-00AA003D7352}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{40FC6ED4-2438-11CF-A3DB-080036F12502}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\InprocServer32]
@="C:\\Programme\\VideoLAN\\VLC\\axvlc.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\MiscStatus]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\MiscStatus\1]
@="131473"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\ProgID]
@="VideoLAN.VLCPlugin.2"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Programmable]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\ToolboxBitmap32]
@="C:\\Programme\\VideoLAN\\VLC\\axvlc.dll,1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\TypeLib]
@="{DF2BBE39-40A8-433B-A279-073F48DA94B6}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\Version]
@="1.0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921}\VersionIndependentProgID]
@="VideoLAN.VLCPlugin"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VideoLAN.VLCPlugin\CLSID]
@="{9BE31822-FDAD-461B-AD51-BE1D1C159921}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VideoLAN.VLCPlugin.2\CLSID]
@="{9BE31822-FDAD-461B-AD51-BE1D1C159921}"


Könntest ja nachschaun, ob du unter 64bit dieselben hast, einfach mal in die Suche folgendens eingeben ( in der Registry): "{9BE31822-FDAD-461B-AD51-BE1D1C159921"
EDIT1: Ich habs jetzt ausprobiert, mit der Standard-Installation von VLC 1.0.5 funktioniert es. Man darf blos das Häckchen bei ActiveX Plugin nicht rausmachen :D , sonst kommt der oben genannte Error..


Mf G

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »oetzn« (5. April 2010, 13:14)


oetzn

User

  • »oetzn« ist der Autor dieses Themas

Registrierungsdatum: 18. November 2009

  • Private Nachricht senden

9

Montag, 5. April 2010, 15:07

Da es keine 64bit-Version des VLC Media Players gibt, wird es wohl auch das Plugin nicht als 64bit Version geben.
Es handelt sich da bei dem ganzen um eine DLL nämlich um die hier:
axvlc.dll

Aber da du ja den VLC Media Player 32Bit auf deinem 64Bit Betriebssystem nutzen kannst, frag ich mich warum denn dann das Objekt in erstellt werden kann ?!

Ich geb dir bescheid sobald ich was herausgefunden habe, vielleicht hängt es ja mit den Registryeinträgen zusammen, die ich oben gepostet habe.

[MSIE_newline_end ]

Registrierungsdatum: 27. Mai 2010

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

10

Montag, 29. November 2010, 19:28

Ich kann unter vlc 1.1.5 den angegebenen REgistry-Key nicht finden. Wie lautet der unter Vista 64x unter v1.1.5 bzw wie kann ich das herausfinden?

Thema bewerten
autoit.de Webutation