2017-11-18 223 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 –

相关问题