2017-11-18 226 views
-1

我正在使用mediaplayer對象播放.amr聲音文件。現在,我測試應用程序(共5個設備)的模擬器和所有設備上的所有內容都可以。問題是,當我嘗試在華爲p8 lite上測試應用程序時,我收到了media_unknown_errormediaplayer未知不能在某個設備上播放聲音

我已經試過檢查mediaplayer是否在播放之前沒有準備好或設備音量低,但似乎問題是別的。

這裏是我的錯誤

I/MediaPlayer: [HSM] stayAwake true uid: 10110, pid: 31906 
E/MediaPlayer: error (1, -1010) 
E/MediaPlayer: Error (1,-1010) 
I/MediaPlayer: [HSM] stayAwake false uid: 10110, pid: 31906 
+1

請發表您的媒體播放器 –

+0

的代碼修改了文件格式從.AMR到.ACC它起着所有設備上的現在 –

+0

爲什麼下降投票? –

回答

0

試試這個。

package com.example.com.mak.mediaplayer; 

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.app.Activity; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final MediaPlayer mpp = MediaPlayer.create(this, R.raw.red); //amr file in res/raw folder 

    Button btnplay = (Button) findViewById(R.id.btnplay); //Play 
    btnplay.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View vone) { 
     mpp.start(); 
     } 
    }); 

    Button btnpause = (Button) findViewById(R.id.btnpause); //Pause 
    btnpause.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View vtwo) { 
     if (mpp.isPlaying()) { 
      mpp.pause(); 
      mpp.seekTo(0); 
     } 
     } 
    }); 
    } 
} 
+0

謝謝我得到相同的結果 –

+0

這是錯誤的,你不打電話給你的媒體播放器上的prepare()方法,然後再調用start()方法。 MediaPlayer.create上的 –

+0

(this,R.raw.red);方法自動調用prepare –

相關問題