オズスタジオでは放送できない問題を解決します。
1065 ワード
iosでは、audio.playを直接に介して再生することはできません。ユーザーがclickイベントまたはtouchイベントでaudio.playを実行する必要があります。
ajaxコール中のaudio.play()音楽は正常に再生できません。
ユーザーはボタンをクリックして、サーバーがデータに戻ってから相応の成功や失敗の音楽を再生します。テストはiosで正常に再生できません。推测iosのアウディはajaxコール関数でプレイできません。
ここでは、iosのajaxコール中に音楽を再生する問題解決過程を記録します。
ソリューション1--音量を下げる
ユーザーがクリックした時間後にaudioの音量を0に設定し、successを待って音量を1に設定します。volumeはaudioの音量をコントロールできます。取得範囲は0~1です。
ソリューション2--再生後直ちに停止します。
ユーザーはボタンを押すとすぐに音楽を再生し、ajaxがデータを返してから再生します。テストは正常に再生できます。部分コードは以下の通りです。
締め括りをつける
iosでは、音楽やビデオを再生する必要がある場合、ユーザが手動でイベントを起動する必要があります。
ajaxコールバック関数で音楽を再生する必要があるなら、ユーザーがイベントをトリガした後に音楽を再生してすぐに停止してから、コールバック関数でプレイできます。
ajaxコール中のaudio.play()音楽は正常に再生できません。
ユーザーはボタンをクリックして、サーバーがデータに戻ってから相応の成功や失敗の音楽を再生します。テストはiosで正常に再生できません。推测iosのアウディはajaxコール関数でプレイできません。
ここでは、iosのajaxコール中に音楽を再生する問題解決過程を記録します。
ソリューション1--音量を下げる
ユーザーがクリックした時間後にaudioの音量を0に設定し、successを待って音量を1に設定します。volumeはaudioの音量をコントロールできます。取得範囲は0~1です。
audio.volume=number
chromeの携帯電話のモードで音楽を静音できます。iosでは音量をコントロールできないことが分かりました。諦めましたソリューション2--再生後直ちに停止します。
ユーザーはボタンを押すとすぐに音楽を再生し、ajaxがデータを返してから再生します。テストは正常に再生できます。部分コードは以下の通りです。
// click
if (this.isIOS()) { // ios
this.$refs.audio.play()
this.$refs.audio.pause()
}
// ajax
this.$refs.audio.pause()
this.$refs.audio.currentTime = 0
this.$refs.audio.play()
vueプロジェクトですので、コードの中にthisがあります。締め括りをつける
iosでは、音楽やビデオを再生する必要がある場合、ユーザが手動でイベントを起動する必要があります。
ajaxコールバック関数で音楽を再生する必要があるなら、ユーザーがイベントをトリガした後に音楽を再生してすぐに停止してから、コールバック関数でプレイできます。