2013-10-02 96 views
-1

我正在嘗試查找一些針對cocos2d-javascript的音頻支持的文檔。在所有瀏覽器在移動設備上的cocos2d-javascript中的音頻問題

var audioEngine = cc.AudioEngine.getInstance(); 
audioEngine.playEffect(s_sound); 
// s_sound is a reference to a preloaded audio resource 

作品完美: 預加載音頻和可使用MP3或OGG格式與標準的方法打他們。但是當你在設備上加載瀏覽器時,我們說iphone 4s retina,沒有音頻播放,或者至少看起來沒有音頻播放超過幾秒鐘的聲音。我還沒有發現任何具體說明設備支持中可能存在的限制,也不會在任何人的示例遊戲(例如Moon Warriors)中嘗試解決此問題 - 該問題也不會在iphone 4s上播放音頻。

我正試圖同時播放多個聲音。

有每種聲音的問題是在長15秒,是一個文件超過500K

所有的音頻絕對是裝載因爲遊戲不會出​​現,除非它們是

更大的每個音軌是A層吉他英雄型遊戲的背景音樂。這就是爲什麼他們超過500k和超過15秒。

也許這裏有人有類似的問題,並可能知道一種方法來保證移動設備上的音頻播放?

回答

1

可接受的答案迄今對我們Howler.jsHowlerAudioEngine.js

我在劇本裝載機加載兩個文件,然後修改平臺/ HTML5/CocosDenshion/SimpleAudioEngine.js -

cc.AudioEngine.getInstance = function() { 
    if (window.devicePixelRatio > 1) { 
     if (!this._instance) { 
      this._instance = new cc.HowlerAudioEngine(); 
      this._instance.init(); 
     } 
    } else { 
     if (!this._instance) { 
      this._instance = new cc.AudioEngine(); 
      this._instance.init(); 
     } 
    } 
    return this._instance; 
}; 

通知window.devicePixelRatio > 1哪裏我一般檢測視網膜顯示或高清。這可以用任何已經證明的各種檢測「移動」來代替 - 但是,sys.platformcc.config.deviceType總是返回給我的「瀏覽器」,所以我現在使用像素比,因爲我的測試設備將返回true。

但是,這些缺點是,聲音fx的傳送仍然存在實質性的延遲。我可以彌補這一點,所以這比沒有好。另外,我還沒有找到音頻文件的容限閾值(播放時間或數據長度)。我知道我的3分鐘左右的更長的音軌即使在咆哮中也不會播放,但是我的1分鐘曲目卻能做到。

如果您有任何更好,更可靠或只是一個補充,請張貼它。對cocos2d-javascript沒有足夠的支持,所以一切都有所幫助。

+0

我也面臨着同樣的問題,我可以播放除了Mobile Safari之外的所有瀏覽器的聲音, 我使用的是Cocos2dx 3.10版本的js,我無法在這裏找到SimpleAudioEngine.js文件,我有cc。 Audio.js文件。 你現在可以幫我嗎? –

+0

看起來事情發生了變化,因爲這個問題出現了。我看起來超過了3倍,它看起來像/cocos/audio/include/SimpleAudioEngine.h中的音頻處理,但我不能保證結構仍然是相同的。您可能需要修改此處的示例代碼,以便處理該類正在執行的任何操作。 –