国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MediaPlayer

2019-11-08 00:05:21
字體:
來源:轉載
供稿:網友

MediaPlayer 

播放音頻和視頻的主要API。

AudioManager

管理音頻資源和音頻輸出 。

需要的權限:

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WAKE_LOCK" />:如果應用需要喚醒屏幕或者喚醒進程,或者使用MediaPlayer.setScreenOnWhilePlaying() or MediaPlayer.setWakeMode() methods,方法,需要該權限。

MediaPlayer 可以使用的資源有:

a)本地資源;

b)內部URI(ContentPRovider)

c)外部的URI

使用raw資源的例子

	MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);	mediaPlayer.start(); // no need to call prepare(); create() does that for youURI 的例子

Uri myUri = ....; // initialize Uri hereMediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setDataSource(getapplicationContext(), myUri);mediaPlayer.prepare();mediaPlayer.start();

HTTP 的例子

String url = "http://........"; // your URL hereMediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setDataSource(url);mediaPlayer.prepare(); // might take long! (for buffering, etc)mediaPlayer.start();

異步的準備工作:

調用prepare()會花比較長的時間來執行,因為它包括讀取和解碼媒體數據。所以不能在UI主線程來調用該方法!!!會造成ANR。

避免這種情況,使用另外一個線程來prepare;

使用prepareAsync()方法可以直接完成上面的事情。這個方式在后臺開始準備資源,快速反饋結果。當資源準備好,onPrepared()方法會被調用,該方法在MediaPlayer.OnPreparedListener,中,使用 setOnPreparedListener()可以配置。

 final MediaPlayer mMediaPlayer = new MediaPlayer();        mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {            @Override            public void onPrepared(MediaPlayer mp) {                mp.start();            }        });
  mMediaPlayer.prepareAsync();

管理狀態

start(), pause(), seekTo(), stop()

使用wake locks(喚醒)

mMediaPlayer = new MediaPlayer();// ... other initialization here ...mMediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);

如果使用的的網絡資源文件,還需要使用WifiLock

WifiLock wifiLock = ((WifiManager) getSystemService(Context.WIFI_SERVICE))    .createWifiLock(WifiManager.WIFI_MODE_FULL, "mylock");wifiLock.acquire();

播放結束后

wifiLock.release()

播放結束后,清理

mMediaPlayer.release();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇庆市| 濉溪县| 泸水县| 敖汉旗| 富平县| 肥东县| 洮南市| 新蔡县| 治多县| 吴江市| 剑阁县| 凌云县| 汕头市| 孝感市| 延吉市| 台安县| 峨山| 米泉市| 中山市| 根河市| 信阳市| 承德市| 蓬安县| 射阳县| 定西市| 寻甸| 皋兰县| 五大连池市| 行唐县| 晋中市| 临沧市| 焉耆| 武邑县| 宕昌县| 县级市| 沅陵县| 晋城| 通州区| 讷河市| 禹州市| 清镇市|