我使用2個聲道同時播放2個獨立的外部加載的mp3文件。現在我有一個播放按鈕綁定到一個功能,開始第一個MP3,然後是第二個。問題是 - 第二個mp3會在第一個幾毫秒後開始。有沒有一種方法可以確保這兩款遊戲在同一時間開始玩?動作 - 同步2聲道?
function playMusic(evt:MouseEvent):void
{
channel = myMusic.play(songPosition);
channel2 = myMusic2.play(songPosition);
myTimer.start();
btnPlay.mouseEnabled = false;
}
編輯:我發現了一個笨拙的解決方法,匹配2個音源的TIMER。它的工作原理,但現在我必須在一開始就打嗝,而我試圖匹配:
function updateTime(evt:TimerEvent):void
{
lblSongTime.text = convertTime(channel.position);
if(channel.position!=channel2.position){
trace("out of sync")
SoundMixer.stopAll()
channel = myMusic.play();
channel2 = myMusic2.play(channel.position);
}
}
您是否嘗試過使用'channel.position',而不是'songPosition'當您最初調用'myMusic2.play'? – jswolf19
是的,昨天晚上我在嘗試修復時試了一下。仍然開始不同步。我認爲它必須是一個動作錯誤。任何幫助你可以給予不勝感激。 – user547794
好的,我相信在一開始就擺脫了這個故障。在playMusic功能中,我將兩個通道的音量設置爲0.然後在同步校正之後,我將音量恢復。笨拙的,但工作,我想? – user547794