Media Player steuern
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Hoho!
Zwar ist es ein Umweg, aber die Programmier- (OK- Script-)Sprache "AutoIt" kann ohne Weiteres Programme fernsteuern. Das wäre unter Umständen eine Aternative, ohne dabei SDKs anzusteuern. Man kann nur lediglich damit den Nutzer emulieren (Maus, Tasten) aber es sind auch andere Befehle und API Nutzung möglich.
Es ist unter Umständen ein wenig unelegant, aber es funktioniert. Ich habe damit eine Rundfax und Rundmailfunktion programmiert, die Fritz!Fax und Outlook fernsteuert, damit man Rundfaxe/Rundmails aus einem anderen Programm verschicken konnte...
Vielleicht ja eine bauchbare Alternative..?
Gr33tz
Tafkadasom2k5
Zwar ist es ein Umweg, aber die Programmier- (OK- Script-)Sprache "AutoIt" kann ohne Weiteres Programme fernsteuern. Das wäre unter Umständen eine Aternative, ohne dabei SDKs anzusteuern. Man kann nur lediglich damit den Nutzer emulieren (Maus, Tasten) aber es sind auch andere Befehle und API Nutzung möglich.
Es ist unter Umständen ein wenig unelegant, aber es funktioniert. Ich habe damit eine Rundfax und Rundmailfunktion programmiert, die Fritz!Fax und Outlook fernsteuert, damit man Rundfaxe/Rundmails aus einem anderen Programm verschicken konnte...
Vielleicht ja eine bauchbare Alternative..?
Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Mit dem OLE/COM Interface Generator von Stefan Möbius geht es "recht einfach". Beispiel für MediaPlayer ist bei!
http://www.purebasic.fr/english/viewtopic.php?t=23370
Einfach die Methoden:
http://www.purebasic.fr/english/viewtopic.php?t=23370
Einfach die Methoden:
im IMediaPlayer Interface aufrufen, dieses wird auch im Beispiel genutztPlay()
Stop()
Pause()
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Also wenn du dich mit COM-Objekten auseinandersetzen willst, dann kann ich dir eine Include geben (leider nur für PowerBasic, aber es sind nur ein paar Kleinigkeit an Unterschieden...)
Da sind so ziemlich alle Bfehele drin, die man braucht (habe gerade den PowerBasic COMBrowser aufgefordert mal nach Media-Player Interfaces zu suchen...
Man hat echt viele Möglichkeiten...
Gr33tz
Tafkadasom2k5
Edit:
Ich seh gerade, dass das Ding von Stefan Möbius dasselbe in PureBasic macht... Spitze
PS:Unglaublich, wie viele Funktionen von Programmen da abgelegt sind...
SInd das alles COM-Objekte? Dabei heißt es doch immer, dass diese veraltet wären? Warum werden nicht DLLS anstatt COM-Objekte genutzt? Wo liegt da der Unterschied?
Da sind so ziemlich alle Bfehele drin, die man braucht (habe gerade den PowerBasic COMBrowser aufgefordert mal nach Media-Player Interfaces zu suchen...
Man hat echt viele Möglichkeiten...
Gr33tz
Tafkadasom2k5
Edit:
Ich seh gerade, dass das Ding von Stefan Möbius dasselbe in PureBasic macht... Spitze

PS:Unglaublich, wie viele Funktionen von Programmen da abgelegt sind...

Zuletzt geändert von Tafkadasom2k5 am 25.08.2006 11:44, insgesamt 1-mal geändert.
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Wenn der als Active registriert ist, sollte es ein entsprechendes Interface geben, kann ich so nicht beantworten.
Als Beispiel: Einfach Interface für MediaPlayer erstellen und als wmp.pbi speichern, dann folgenden Code:
Ist schon ein fast vollwertiger Player 
Als Beispiel: Einfach Interface für MediaPlayer erstellen und als wmp.pbi speichern, dann folgenden Code:
Code: Alles auswählen
XIncludeFile "wmp.pbi"
Import "atl.lib"
AtlAxWinInit()
AtlAxCreateControl(lpszName.p-bstr,hWnd.l,*pStream.IStream,*ppUnkContainer.IUnknown)
AtlAxGetControl(hWnd.l,*pp.IUnknown)
EndImport
Import "shell32.lib"
CompilerIf #PB_Compiler_Unicode
SHGetSpecialFolderPath_(hwndOwner.l, lpszPath.s, nFolder.l, fCreate.l) As "_SHGetSpecialFolderPathW@16"
CompilerElse
SHGetSpecialFolderPath_(hwndOwner.l, lpszPath.s, nFolder.l, fCreate.l) As "_SHGetSpecialFolderPathA@16"
CompilerEndIf
EndImport
Procedure.s GetSpecialFolder(Folder.l)
Protected Path.s = Space(#MAX_PATH)
If SHGetSpecialFolderPath_(#NUL, Path, Folder, #NUL)
If Right(Path, 1) <> "\" : Path + "\" : EndIf
ProcedureReturn Path
EndIf
EndProcedure
File.s = ProgramParameter()
If FileSize(File) <= 0 Or File = ""
File = OpenFileRequester("Small MediaPlayer", GetSpecialFolder(#CSIDL_MYVIDEO) + "*.wmv", "*.*", 0)
If Not File : End : EndIf
EndIf
CoInitialize_(0)
AtlAxWinInit()
#Flags=#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered
OpenWindow(0,0,0,400,300,"Simple MediaPlayer, written in PB", #Flags)
AtlAxCreateControl("MediaPlayer.MediaPlayer.1", WindowID(0), 0, 0)
AtlAxGetControl(WindowID(0),@*mp.IMediaPlayer)
*mp\put_FileName(File)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
*mp\Release()
CloseWindow(0)

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Aber wenn Du so wie im Beispiel, den WMPlayer einfach in Deine Anwendung
integrierst, kannste denn auch bequem durch dieselbe, bzw. eine 2te steuern,
ohne Gefahr zu laufen, was falsches zu steuern
Wenn man die Bedienelemente vom WMPlayer ausblendet, merkt es evtl.
garkeiner, das es nur eine Oberfläche für den orign. Player ist
integrierst, kannste denn auch bequem durch dieselbe, bzw. eine 2te steuern,
ohne Gefahr zu laufen, was falsches zu steuern

Wenn man die Bedienelemente vom WMPlayer ausblendet, merkt es evtl.
garkeiner, das es nur eine Oberfläche für den orign. Player ist

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
