2014-02-15 50 views
1

我打算在用戶按下某個按鈕時發生聲音。如何在移動Chrome應用中使用音頻

這是在我的桌面上和我的Android 4.4手機上的Chrome上工作,但是當我將其作爲cordova應用程序啓動時,音頻停止工作。

<audio hidden='true' id='win-audio'> 
    <source src='audio.mp3' type='audio/mpeg' /> 
</audio> 

與以下時,點擊事件發生

document.querySelector('#win-audio').load(); 
document.querySelector('#win-audio').play(); 

我已經使用<video>標籤試圖代替(與加載相同的MP3)被調用。我也試過ogg格式,以防萬一它是一個編解碼器問題,但沒有運氣。

On PhoneGap人們使用Media插件解決此問題 - 我寧願使用HTML5音頻來正確執行此操作,但如果這不可能,那麼Mobile Chrome Apps是否有相應的功能?

+0

回顧我懷疑這是因爲我的設備上安裝的webview版本不支持HTML5音頻。 – owencm

回答

1

嘗試了很多解決方案後,我發現我們可以使用Cordova媒體插件來替代缺乏HTML5音頻支持。

首先使用cca plugin add org.apache.cordova.media

下一頁以下行添加到您的config.xml文件的項目目錄中安裝的命令行插件:

<plugin name="Media" value="org.apache.cordova.AudioHandler" /> 

然後,您可以使用新的媒體對象從Javascript內容如下:

var audio = new Media('/android_asset/www/path_to_your.mp3'); 
audio.play(); 

請注意,您必須發出科爾多瓦預期的正確路徑,這是不相對的到JavaScript文件的代碼是在上面的將適用於Android,並支持iOS看到:iOS Phonegap Media Object - How do I access a resource in the WWW folder?

+0

爲什麼科爾多瓦不只是覆蓋原生的聲音代碼?併爲我們修復它 – ColacX

相關問題