1. 程式人生 > >IOS自動播放音訊/視訊

IOS自動播放音訊/視訊

ios 為了節省使用者流量,對於 audio 和 video標籤的 preload 和 autopaly 標籤會自動攔截,除非使用者手動點選互動才會執行 。

對於背景音樂,又必須載入的時候就要執行,解決方法:(不過注意只能在微信瀏覽器裡面開啟)

  1. document.addEventListener("WeixinJSBridgeReady", function () {  
  2.     WeixinJSBridge.invoke('getNetworkType', {}, function (e) {  
  3.         document.getElementById('chatAudio').play();  
  4.     });  
  5. }, false);  

或(判斷)

  1. function onBridgeReady(){    
  2.     WeixinJSBridge.invoke('getNetworkType', {}, function (e) {    
  3.         document.getElementById('chatAudio').play();  
  4.     });    
  5. }  
  6. if (typeof WeixinJSBridge === "undefined"){  
  7.     document.addEventListener("WeixinJSBridgeReady", onBridgeReady , false);      
  8. }else{  
  9.     onBridgeReady();  
  10. }  


也有特別的 ios 設定後,互動事件不一定相容

最近做了一個搖一搖功能的頁面,搖一搖時觸發播放搖動聲音的音訊,此音訊播放完成後,再播放結束音訊,但有一個同事的ios就是不能正常播放

以下是HTML程式碼

  1. <divstyle="display:none;">
  2.     <audioid="chatAudio"src="public/sound/shake.mp3"></audio>
  3.     <audioid="chatAudio2"src="public/sound/shake_ok.mp3"
    ></audio>
  4.     <divclass="playBtn"></div>
  5.     <divclass="playBtn2"></div>
  6. </div>

以下是未解決播放問題JS程式碼

  1. var $myVideo = $("#chatAudio")[0];  
  2. var $myVideo2 = $("#chatAudio2")[0];  
  3. $('.playBtn').on('click',function(){  
  4.     //音訊  
  5.     $myVideo.play();  
  6. });  
  7. $('.playBtn2').on('click',function(){  
  8.     //完成音訊  
  9.     $myVideo2.play();  
  10. });  
  11. var myShakeEvent = new Shake({   
  12.     threshold:10,  
  13.     timeout:1100  
  14. });  
  15. myShakeEvent.start();  
  16. window.addEventListener('shake', shakeEventDidOccur, false);  
  17. function shakeEventDidOccur(){  
  18.     $('.playBtn').trigger('click');//開始聲音  
  19.     $myVideo.addEventListener("ended", function(){  
  20.         $('.playBtn2').trigger('click');//結束聲音  
  21.     }, false);  
  22. }  

以下是解決播放問題的JS程式碼

  1. var $myVideo = $("#chatAudio")[0];  
  2. var $myVideo2 = $("#chatAudio2")[0];  
  3. //解決IOS設定對音訊的友好處理問題(判斷是否iphone4則不執行,iphone4暫停後不能再播放)題  
  4. if($(window).height() > 460 && $(window).width() >= 320 && !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)){  
  5.     document.addEventListener("WeixinJSBridgeReady", function () {  
  6.         WeixinJSBridge.invoke('getNetworkType', {}, function (e) {  
  7.             $myVideo.play();  
  8.             $myVideo.pause();  
  9.             $myVideo2.play();  
  10.             $myVideo2.pause();  
  11.         });  
  12.     }, false);  
  13. }  
  14. $('.playBtn').on('click',function(){  
  15.     //音訊  
  16.     $myVideo.play();  
  17. });  
  18. $('.playBtn2').on('click',function(){  
  19.     //完成音訊  
  20.     $myVideo2.play();  
  21. });  
  22. var myShakeEvent = new Shake({   
  23.     threshold:10,  
  24.     timeout:1100  
  25. });  
  26. myShakeEvent.start();  
  27. window.addEventListener('shake', shakeEventDidOccur, false);  
  28. function shakeEventDidOccur(){  
  29.     $('.playBtn').trigger('click');//開始聲音  
  30.     $myVideo.addEventListener("ended", function(){  
  31.         $('.playBtn2').trigger('click');//結束聲音  
  32.     }, false);  
  33. }  

經測試,兩個音訊可以正常播放了


相關推薦

IOS自動播放音訊/視訊

ios 為了節省使用者流量,對於 audio 和 video標籤的 preload 和 autopaly 標籤會自動攔截,除非使用者手動點選互動才會執行 。 對於背景音樂,又必須載入的時候就要執行,解決方法:(不過注意只能在微信瀏覽器裡面開啟) document

蘋果IOS微信瀏覽器下自動播放音訊問題+jquery click點選閃屏的問題

蘋果IOS微信瀏覽器下自動播放音訊問題 因為ios下微信的瀏覽器是不允許音訊自動播放的,所以投機取巧尋找解決辦法。在此做一下筆記,呼叫一下就好了。 function audioAutoPlay(id){ var audio = document.getElemen

移動端自動播放音訊

1.引入js檔案:<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>2.現在微信官方已經推出了微信JS-SDK;var bg_music= document.get

用air在ios播放h264視訊,需要使用StageVideo

Stage Video是Adobe提供的一種渲染視訊的新途徑。 這種方法充分利用了底層的視訊硬體設施。 而結果是大大地降低了CPU的負載,這便意味著在低效能裝置中能表現出更高的幀率以及更少的記憶體使用率。 使用stage video的話,StageVideo物件並不會位於F

audios 支援ios 自動播放 解決

 官方文件說safari上不支援自動播放。必須觸控一次。因此可以這樣: $('html').one('touchstart',function(){ audio.play(); } }); ("body").one("touchstart", audio.play

ios 對 AVAsset 音訊-視訊重編碼

- (void)fk {    NSString *serializationQueueDescription = [NSString stringWithFormat:@"%@ serialization queue", self];// Create the main s

iOS 學習總結----音訊/視訊處理

if (event.type == UIEventTypeRemoteControl) {         switch (event.subtype) {             case UIEventSubtypeRemoteControlPlay:                [ _pla

krpano全景之解決微信內建瀏覽器不能自動播放音訊的問題

上接前幾章krpano全景學習之路,開發過程中的思路是安裝網上看到的成功的案例進行開發的,該有的熱點啊、背景音樂啊、陀螺儀啊等等之類的,該有的全部都要背上。前面幾個問題倒是不大,背景音樂這卡住了。相信

安卓webview html5 自動播放本地視訊,網上視訊,可以迴圈播放

有時候發現html5 視訊的autoplay根本沒實現,查看了下android 原始碼HTMLVideoElement.cpp也未見相應處理, 網上有資料顯示,這可能關乎UI執行緒與後臺執行緒的協調性,我看,以後的升級版本總會解決這個問題的。 html5標籤屬性不支援,那只

樹莓派用命令列播放音訊/視訊

sudo apt-get install omxplayer一般預設已經安裝好了播放視訊需要通過 HDMI 連線到顯示器看sudo omxplayer -r -o [both,local,hdmi] 檔

ios開發之音訊視訊開發

一、音訊播放方式 1.System Sound Services 2.AVAudioPlayer 3.Audio Queue Service 4.OpenAL 二、使用 1.System Sound

ios處理播放音訊時的中斷

      當中斷髮生時,AVAudioPlayer 例項的 audioPlayerBeginInterruption: delegate 方法會被呼叫。這時,你的音訊 session 已經被打斷了。如果是來電,使用者只能聽到鈴聲。當通話結束或使用者拒絕來電後,AVAudioPlayer 類的 udioPl

微信之ios音訊視訊自動播放

ios 微信瀏覽器 多媒體自動播放 關於微信APIJS 有效的 微信多媒體播放程式碼為 關於微信APIJS weixinJSBridgeready這個事件,我注入在js程式碼庫中,發現一個問題 監聽這個事件,函式是不會執

H5音訊自動播放 IOS問題

iOS 為了節省使用者流量,所以用autoplay="autoplay"的自動播放被攔截。用以下程式碼可以ios自動播放 <audio id="au" autoplay="autoplay" loop="loop" src="mp3/bg.mp3"></audio> /

chrome 新特性 —— 不允許視訊音訊在頁面載入完成時自動播放

問題描述:為避免使用者在開啟頁面時突然出現視訊自動播放而出現聲音嚇到使用者,chrome瀏覽器從2018年開始不再支援單獨autoplay實現載入頁面視訊自動播放, 解決辦法:同時使用muted靜音視訊,以此實現靜音情況下載入頁面,視訊自動播放。 <video sr

iOS--播放音訊視訊(1:AVAudioPlayer 2:MPMoviePlayerViewController)

在iOS中有兩種方式可以播放音訊視訊。 一:AVAudioPlayer。它只能播放本地的音訊,不能網路音訊(即不能線上播放)MP3    1:首先要手動匯入音訊的框架 AVFoundation.framework。(iOS7.0以後,不用在手動匯入了,它自動已經包含了此框架

微信ios中音視訊不能自動播放

// 方法1: 現在微信官方已經推出了微信JS-SDK, 最好還是不要使用"野生"方式, 因為不知道什麼時候就可以不能用了! // http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f

Html5 在 Android/IOS 瀏覽器不自動播放視訊

相信很多Web前端開發小夥伴因為工作的需求,在研究怎麼通過HTML5實現視訊在手機瀏覽器的自動播放(主流瀏覽器)。在這裡,我要告訴大家: Chrome for Android 從版本54開始支援靜音

H5中音訊視訊自動播放以及同層播放問題

自動播放講真,真的很煩這個自動播放的問題,移動端是不允許自動播放的啊,但是客戶就是想讓自動播放,而且還不許有點選事件(哼)。但是我手裡的專案很多都是在微信裡轉發和推送的,既然這樣,我們可以在微信的ready事件裡新增上video.play() or audio.play()的

IOS webView播放視訊時進入頁面自動播放的問題

主要解決用urlStr通過 webView 去播放視訊時進入介面就自動播放的問題 NSString *htmlStr = [NSString stringWithFormat: @"<!DOCTYPE HTML><html><b