乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      深入Android MediaPlayer的使用方法詳解

       落雨不悔 2019-04-23

      MediaPlayer使用技巧

        在使用MediaPlayer的使用過程中,有個小技巧需要說明一下:

        1、在使用start()播放流媒體之前,需要裝載流媒體資源。這里最好使用prepareAsync()用異步的方式裝載流媒體資源。因?yàn)榱髅襟w資源的裝載是會消耗系統(tǒng)資源的,在一些硬件不理想的設(shè)備上,如果使用prepare()同步的方式裝載資源,可能會造成UI界面的卡頓,這是非常影響用于體驗(yàn)的。因?yàn)橥扑]使用異步裝載的方式,為了避免還沒有裝載完成就調(diào)用start()而報錯的問題,需要綁定MediaPlayer.setOnPreparedListener()事件,它將在異步裝載完成之后回調(diào)。異步裝載還有一個好處就是避免裝載超時引發(fā)ANR((Application Not Responding)錯誤。


      1. 01.1 mediaPlayer = new MediaPlayer();
      2. 02.2 mediaPlayer.setDataSource(path);
      3. 03.3 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
      4. 04.4
      5. 05.5 // 通過異步的方式裝載媒體資源
      6. 06.6 mediaPlayer.prepareAsync();
      7. 07.7 mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
      8. 08.8 @Override
      9. 09.9 public void onPrepared(MediaPlayer mp) {
      10. 10.10 // 裝載完畢回調(diào)
      11. 11.11 mediaPlayer.start();
      12. 12.12 }
      13. 13.13 });

      2、使用完MediaPlayer需要回收資源。MediaPlayer是很消耗系統(tǒng)資源的,所以在使用完MediaPlayer,不要等待系統(tǒng)自動回收,最好是主動回收資源。

      1. 1.1 if (mediaPlayer != null && mediaPlayer.isPlaying()) {
      2. 2.2 mediaPlayer.stop();
      3. 3.3 mediaPlayer.release();
      4. 4.4 mediaPlayer = null;
      5. 5.5 }
      3、使用MediaPlayer最好使用一個Service來使用,并且在Service的onDestory()方法中回收MediaPlayer資源,實(shí)際上,就算是直接使用Activity承載MediaPlayer,也最好在銷毀的時候判斷一下MediaPlayer是否被回收,如果未被回收,回收其資源,因?yàn)榈讓诱{(diào)用的native方法,如果不銷毀還是會在底層繼續(xù)播放,而承載的組件已經(jīng)被銷毀了,這個時候就無法獲取到這個MediaPlayer進(jìn)而控制它。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多