當前位置:首頁 » 安卓系統 » android的mediaplayer

android的mediaplayer

發布時間: 2022-05-16 01:32:25

❶ Android MediaPlayer的問題

Android的MediaPlayer包含了Audio和video的播放功能

關於MediaPlayer的使用方式:


  1. 如何獲得MediaPlayer實例:
    可以使用直接new的方式:
    MediaPlayer mp = new MediaPlayer();
    也可以使用create的方式,如:
    MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//這時就不用調用setDataSource了


2.如何設置要播放的文件:

MediaPlayer要播放的文件主要包括3個來源:
a. 用戶在應用中事先自帶的resource資源
例如:MediaPlayer.create(this, R.raw.test);
b. 存儲在SD卡或其他文件路徑下的媒體文件
例如:mp.setDataSource("/sdcard/test.mp3");
c. 網路上的媒體文件
例如:mp.setDataSource("mp3或者mp4的地址");


3。 MediaPlayer常用API

MediaPlayer的setDataSource一共四個方法:
setDataSource (String path)
setDataSource (FileDescriptor fd)
setDataSource (Context context, Uri uri)
setDataSource (FileDescriptor fd, long offset, long length)


4.對播放器的主要控制方法:

Android通過控制播放器的狀態的方式來控制媒體文件的播放,其中:


1.prepare()和prepareAsync() 提供了同步和非同步兩種方式設置播放器進入prepare狀態,需要注意的是,如果MediaPlayer實例是由create方法創建的,那麼第一次啟動播放前不需要再調用prepare()了,因為create方法里已經調用過了。

2.start()是真正啟動文件播放的方法。
3.pause()和stop()比較簡單,起到暫停和停止播放的作用。

4.seekTo()是定位方法,可以讓播放器從指定的位置開始播放,需要注意的是該方法是個非同步方法,也就是說該方法返回時並不意味著定位完成,尤其是播放的網路文件,真正定位完成時會觸發OnSeekComplete.onSeekComplete(),如果需要是可以調用setOnSeekCompleteListener(OnSeekCompleteListener)設置監聽器來處理的。
5.release()可以釋放播放器佔用的資源,一旦確定不再使用播放器時應當盡早調用它釋放資源。

6.reset()可以使播放器從Error狀態中恢復過來,重新會到Idle狀態。

❷ android的MediaPlayer支持哪些視頻格式

Android官方公布的文檔顯示MediaPlayer支持如下視頻格式:

Video H.263 X X 3GPP (.3gp) and MPEG-4 (.mp4)
H.264 AVC X 3GPP (.3gp) and MPEG-4 (.mp4)
MPEG-4 SP X 3GPP (.3gp)

這些格式的視頻,基本上屬於手機支持的視頻格式。如果想觀看其他類型格式的視頻,比如flv等,需要下載暴風、迅雷等播放器。

❸ android 怎樣獲得mediaplayer播放的音頻數據

Android中音頻和視頻的播放我們最先想到的就是MediaPlayer類了,該類提供了播放、暫停、停止、和重復播放等方法。該類位於android.media包下,詳見API文檔。其實除了這個類還有一個音樂播放類那就是SoundPool,這兩個類各有不同分析一下便於大家理解

MediaPlayer:

此類適合播放較大文件,此類文件應該存儲在SD卡上,而不是在資源文件里,還有此類每次只能播放一個音頻文件。

此類用法如下:

1、從資源文件中播放

MediaPlayer player = new MediaPlayer.create(this,R.raw.test);

player.stare();

2、從文件系統播放

MediaPlayer player = new MediaPlayer();

String path = "/sdcard/test.mp3";

player.setDataSource(path);

player.prepare();

player.start();

3、從網路播放

(1)通過URI的方式:

String path="http://**************.mp3"; //這里給一個歌曲的網路地址就行了

Uri uri = Uri.parse(path);

MediaPlayer player = new MediaPlayer.create(this,uri);

player.start();

(2)通過設置數據源的方式:

MediaPlayer player = new MediaPlayer.create();

String path="http://**************.mp3"; //這里給一個歌曲的網路地址就行了

player.setDataSource(path);

player.prepare();

player.start();

SoundPool:

此類特點就是低延遲播放,適合播放實時音實現同時播放多個聲音,如游戲中炸彈的爆炸音等小資源文件,此類音頻比較適合放到資源文件夾 res/raw下和程序一起打成APK文件。

用法如下:

SoundPool soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);

HashMap<Integer, Integer> soundPoolMap = new HashMap<Integer, Integer>();

soundPoolMap.put(1, soundPool.load(this, R.raw.dingdong1, 1));

soundPoolMap.put(2, soundPool.load(this, R.raw.dingdong2, 2));

public void playSound(int sound, int loop) {

AudioManager mgr = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);

float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);

float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

float volume = streamVolumeCurrent/streamVolumeMax;

soundPool.play(soundPoolMap.get(sound), volume, volume, 1, loop, 1f);

//參數:1、Map中取值 2、當前音量 3、最大音量 4、優先順序 5、重播次數 6、播放速度

}

this.playSound(1, 0);

❹ android的MediaPlayer.create方法怎麼用

Android的MediaPlayer包含了Audio和video的播放功能
關於MediaPlayer的使用方式:

1.如何獲得MediaPlayer實例:
可以使用直接new的方式:
MediaPlayer mp = new MediaPlayer();
也可以使用create的方式,如:
MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//這時就不用調用setDataSource了

2.如何設置要播放的文件:
MediaPlayer要播放的文件主要包括3個來源:
a. 用戶在應用中事先自帶的resource資源
例如:MediaPlayer.create(this, R.raw.test);
b. 存儲在SD卡或其他文件路徑下的媒體文件
例如:mp.setDataSource("/sdcard/test.mp3");
c. 網路上的媒體文件
例如:mp.setDataSource("mp3或者mp4的地址");

3.MediaPlayer常用API
MediaPlayer的setDataSource一共四個方法:
setDataSource (String path)
setDataSource (FileDescriptor fd)
setDataSource (Context context, Uri uri)
setDataSource (FileDescriptor fd, long offset, long length)

對播放器的主要控制方法:
Android通過控制播放器的狀態的方式來控制媒體文件的播放,其中:

1.prepare()和prepareAsync() 提供了同步和非同步兩種方式設置播放器進入prepare狀態,需要注意的是,如果MediaPlayer實例是由create方法創建的,那麼第一次啟動播放前不需要再調用prepare()了,因為create方法里已經調用過了。
2. start()是真正啟動文件播放的方法
3.pause()和stop()比較簡單,起到暫停和停止播放的作用
4.seekTo()是定位方法,可以讓播放器從指定的位置開始播放,需要注意的是該方法是個非同步方法,也就是說該方法返回時並不意味著定位完成,尤其是播放的網路文件,真正定位完成時會觸發OnSeekComplete.onSeekComplete(),如果需要是可以調用setOnSeekCompleteListener(OnSeekCompleteListener)設置監聽器來處理的。
5.release()可以釋放播放器佔用的資源,一旦確定不再使用播放器時應當盡早調用它釋放資源。
6.reset()可以使播放器從Error狀態中恢復過來,重新會到Idle狀態。

❺ android mediaplayer能播放什麼格式的文件

Android官方公布的文檔顯示MediaPlayer支持如下視頻格式:
Video H.263 X X 3GPP (.3gp) and MPEG-4 (.mp4)
H.264 AVC X 3GPP (.3gp) and MPEG-4 (.mp4)
MPEG-4 SP X 3GPP (.3gp)
這些格式的視頻,基本上屬於手機支持的視頻格式。如果想觀看其他類型格式的視頻,比如flv等,需要下載暴風、迅雷等播放器。

❻ android中的mediaplayer報錯, (-38, 0)

android設計多媒體程序時,出現mediaplayer的(-38, 0)報錯, 一般是由於在MediaPlayer還沒有同步(Prepared)的狀態下調用了 mediaplayer對象.start()方法,所以解決的辦法,就是在設置好數據源之後,先調用 mediaplayer對象.prepare() 語句進行同步,然後再播放。

❼ android中如何判斷mediaplayer已經停止

1、release是當MediaPlayer對象(以下簡稱mp)不再使用才去釋放mp所佔有的資源。不是一首歌完了之後要用的,而是你不再使用mp之後才調用,比如退出。
2、start和stop之間循環的流程應該是:reset()-->setDataSource(path)-->prepare()-->start()-->stop()--reset()-->重來上述流程一遍。
3、判斷停止是要用到
MediaPlayer.OnCompletionListener
mCompleteListener的方法監聽。
你對mediaplayer整個流程的理解有點混亂,建議多看代碼吧。

❽ android 使用MediaPlayer播放音樂要添加的許可權是什麼

android 使用MediaPlayer播放音樂要添加的許可權是:

public Boolean playMusic(Context myContext) {

bgMusic = new MediaPlayer();

bgMusic = MediaPlayer.create(myContext, R.raw.music);

bgMusic.setLooping(true);

try {

if (bgMusic != null) {

bgMusic.stop();

}

bgMusic.prepare();

bgMusic.start();

return true;

} catch (IllegalStateException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return false;

}

❾ android MediaPlayer如何播放中文文件MP3

大概思路
1、在一個Activity類中,搞一個按鈕,點擊該按鈕後,使用intent在後台啟動一個service,。
2、寫一個普通類extends Service,在這個service中進行Mp3文件的播放。
流程代碼如下:
1、public class PlayerActivity extends Activity{
class StartButtonListener implements OnClickListener{
public void onClick( View v ){
/*----創建一個Intent對象,用於通知Service開始播放Mp3文件-----*/
Intent intent = new Intent();
intent.setClass( PlayerActivity.this, PlayerService.class );
intent.putExtra("mp3Info", mp3Info );
intent.putExtra("MSG", AppConstant.PlayerMsg.PLAY_MSG );
startService ( intent );//啟動Service
}
}
}

2、public class PlayerService extends Service{
/**---獲得從PlayerActivity傳來的intent,啟動PlayerService,並執行該方法 根據intent中包含的 指令,進行Mp3的播放---------------*/
public int onStartCommand(Intent intent, int flags, int startId) {
mp3Info = ( Mp3Info )intent.getSerializableExtra( "mp3Info" );
int MSG = intent.getIntExtra( "MSG", 0 );
if ( mp3Info != null ){
if( MSG == AppConstant.PlayerMsg.PLAY_MSG );{
play ( mp3Info );
}
}
else{
if ( MSG == AppConstant.PlayerMsg.PAUSE_MSG ){
pause( );
}
else if ( MSG == AppConstant.PlayerMsg.STOP_MSG ){
stop( );
}
}
return super.onStartCommand(intent, flags, startId );
}

private void play(Mp3Info mp3Info ){
if( !isPlaying ){
fileUtils = new FileUtils();
String path = fileUtils.getMp3Path ( mp3Info ); //獲取Mp3文件在SDCard中的位置
mediaPlayer = MediaPlayer.create( this, Uri.parse("file://" + path) );//這里Uri.parse表示,獲取SDCard中的文件,協議是file://
mediaPlayer.setLooping(false);
mediaPlayer.start(); //mediaPlayer在得到,Mp3文件在SDCard中的位置後,就可以進行播放了
}
}

}

❿ mediaplayer在android 6.0以上怎麼調用

1)如何獲得MediaPlayer實例:
可以使用直接new的方式:
MediaPlayer mp = new MediaPlayer();
也可以使用create的方式,如:
MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//這時就不用調用setDataSource了

2) 如何設置要播放的文件:
MediaPlayer要播放的文件主要包括3個來源:
a. 用戶在應用中事先自帶的resource資源
例如:MediaPlayer.create(this, R.raw.test);
b. 存儲在SD卡或其他文件路徑下的媒體文件
例如:mp.setDataSource("/sdcard/test.mp3");
c. 網路上的媒體文件
例如:mp.setDataSource("http://www.citynorth.cn/music/confucius.mp3");

MediaPlayer的setDataSource一共四個方法:
setDataSource (String path)
setDataSource (FileDescriptor fd)
setDataSource (Context context, Uri uri)
setDataSource (FileDescriptor fd, long offset, long length)

其中使用FileDescriptor時,需要將文件放到與res文件夾平級的assets文件夾里,然後使用:
AssetFileDescriptor fileDescriptor = getAssets().openFd("rain.mp3");
m_mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),fileDescriptor.getStartOffset(), fileDescriptor.getLength());
來設置datasource

熱點內容
安卓車機裝什麼應用可以匹配原車攝像頭 發布:2025-08-16 10:56:07 瀏覽:1000
用戶環境參數配置文件怎麼恢復 發布:2025-08-16 10:51:14 瀏覽:19
小說S加密 發布:2025-08-16 10:41:34 瀏覽:316
如何用命令提示符改密碼無需密碼 發布:2025-08-16 10:23:46 瀏覽:955
aov國際版是什麼伺服器 發布:2025-08-16 10:14:38 瀏覽:400
攀升編程 發布:2025-08-16 10:13:14 瀏覽:485
加工中心刻字編程 發布:2025-08-16 09:59:43 瀏覽:101
安卓手機屏幕最好的是什麼手機 發布:2025-08-16 09:40:10 瀏覽:396
python基礎pdf下載 發布:2025-08-16 09:38:25 瀏覽:593
矩陣詳細編程 發布:2025-08-16 09:28:39 瀏覽:953