[英]Audio is not playing in Android Emulator in MacBook Pro
這是MacBook Pro中的問題。 經過幾個小時的調試,我發現了問題
我正在使用以下代碼創建媒體播放器並播放mp3文件。 我正在使用Android Studio中的內置模擬器。 有調試建議嗎?
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(this,R.raw.music);
mediaPlayer.start();
}
}
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ablejohnson.audiodemo.MainActivity">
</android.support.constraint.ConstraintLayout>
編輯
為了進一步調試,我為mediaPlayer
添加了onErrorListener
mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mediaPlayer, int what, int extra) {
Log.e("error","what:"+what+",extra"+extra);
return false;
}
});
以下行正在日志中打印。
D/Atlas: Validating map...
E/MediaPlayer: Should have subtitle controller already set
E/MediaPlayer: Error (1,-19)
E/error: what:1,extra-19
這是在MacBook Pro上運行的模擬器中的一個特定問題。 我試圖在實際設備和Windows +模擬器上運行相同的應用程序,兩種情況都可以正常運行。
這里的解決方案很爛,但對我有用
關閉藍牙並重新啟動仿真設備
我引用了文檔,““原始”資源是系統不會嘗試以任何特定方式解析的文件。但是,該資源的內容不應是原始音頻,而應是經過正確編碼和格式化的媒體文件以一種受支持的格式。”
檢查您的music
文件是否為受支持的格式。
查看文檔以獲取更多詳細信息。 https://developer.android.com/guide/topics/media/mediaplayer.html
支持格式: https : //developer.android.com/guide/topics/media/media-formats.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.