Hi,
Quell-Datei ist eine .mp4 Datei. Die Audiospur der Mp4-Datei lese, verändere und spiele ich über die Bass.dll ab. Das Videosignal zeige ich über den Windowsmediaplayer an (Audio ist dort dann gemuted).
Leider bekomme ich es nicht hin die beiden "Streams" genau Zeitgleich abzuspiele. Ziel ist es das Audisignal mit der Bass.dll zu verändern (z.B. EQ) und synchron mit dem Video anzuzeigen.
Die beiden Streams liegen ca. 0,3 sek auseinander und driften langsam weiter auseinander.
Wie bekomme ich es hin, dass beide immer die gleiche Position haben/abspielen? Die Audiospur auf die Position des Videostreams zu bringen habe ich bereits versucht mit
Das brachte nix.
Ich hab bei meiner Recherche folgendes gefunden
MediaTimeline Class
Kenn sich jemand damit aus. Ich bin noch ein ziemlicher Noob
Quell-Datei ist eine .mp4 Datei. Die Audiospur der Mp4-Datei lese, verändere und spiele ich über die Bass.dll ab. Das Videosignal zeige ich über den Windowsmediaplayer an (Audio ist dort dann gemuted).
Leider bekomme ich es nicht hin die beiden "Streams" genau Zeitgleich abzuspiele. Ziel ist es das Audisignal mit der Bass.dll zu verändern (z.B. EQ) und synchron mit dem Video anzuzeigen.
VB.NET-Quellcode
-
- .....
- Bass.BASS_ChannelPlay(mixer, False) 'Starte das Abspielen der Audiospur
- FrmMediaPlayer.AxWindowsMediaPlayer1.Ctlcontrols.play() 'Starte in der nächsten Zeile das Abspielen des VideoSignals
- ....
- 'Zur Kontrolle der Position beide in Sek. angezeigt
- LbPosVideo.Text = "VideoPos (double): " & AxWindowsMediaPlayer1.Ctlcontrols.currentPosition.ToString
- Dim pos As Long = Bass.BASS_ChannelGetPosition(FrmEq.mixer)
- LbPosAudio.Text = "AudioPos (ChannelBytes2Seconds): " & Bass.BASS_ChannelBytes2Seconds(FrmEq.mixer, pos).ToString
Die beiden Streams liegen ca. 0,3 sek auseinander und driften langsam weiter auseinander.
Wie bekomme ich es hin, dass beide immer die gleiche Position haben/abspielen? Die Audiospur auf die Position des Videostreams zu bringen habe ich bereits versucht mit
Bass.BASS_ChannelSetPosition(FrmEq.mixer, Bass.BASS_ChannelSeconds2Bytes(FrmEq.mixer, AxWindowsMediaPlayer1.Ctlcontrols.currentPosition), BASSMode.BASS_POS_BYTE)
Das brachte nix.
Ich hab bei meiner Recherche folgendes gefunden
MediaTimeline Class
Kenn sich jemand damit aus. Ich bin noch ein ziemlicher Noob
codewars.com Rank: 4 kyu