簡體   English   中英

MediaPlayer.create和setDataSource實現之間的區別

[英]difference between MediaPlayer.create and setDataSource implementation

我正在使用幾個媒體播放器對象來循環一些曲目,我想知道使用MediaPlayer.create(resId)與手動編程不同狀態之間的區別,使用setDataSource(FileDescriptor)等...我還是新的到android所以我不知道。

.create()MediaPlayer類的靜態方法,每當你想調用.create()你必須通過ClassName.methodName()調用它,如MediaPlayer.create()

setDataResource()MediaPlayer類中的一個方法,它將通過MediaPlayer的實例調用

MediaPlayer mp;
mp.setDataResource("your sdCard File Path...");



現在如果您使用MediaPlayer.create()您應該在res下的raw文件夾中有音頻(mp3)文件。 如果沒有raw文件夾中創建一個(通常是我們要創建raw手工在我們的項目文件夾),然后通過resId在MP3文件的.create()方法一樣

MediaPlayer mp = MediaPlayer.create(R.raw.mp3FileName);

第二個是setDataResource()方法用於你想通過SDCard播放音頻文件,但你需要確保你給setDataSource()的路徑是完全正確的。 最好的方法是使用,而不是硬編碼'/ sdcard /'的引用

android.os.Environment.getExternalStorageDirectory()
MediaPlayer mediaPlayer = new MediaPlayer();
File path = android.os.Environment.getExternalStorageDirectory();
mediaPlayer.setDataSource(path + "/fileName.mp3");


通過這種方式,您可以通過SDCard獲得正確的路徑並播放您的mp3。 希望這個解釋能幫助你理解。 有關詳細信息,請參閱Android開發者網站上的MediaPlayer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM