Android的播放器除了提高prepare失败:状态为0x1 [英] Android player raising exception prepare failed:status 0x1
本文介绍了Android的播放器除了提高prepare失败:状态为0x1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从RES /原始文件夹播放音频文件。结果
但得到错误结果
prepare失败:状态=为0x1 的
我的code:
包com.example.lvm;进口java.io.IOException异常;进口android.media.MediaPlayer;
进口android.media.MediaPlayer.OnCompletionListener;
进口android.os.Bundle;
进口android.app.Activity;
进口android.view.Menu;
进口android.view.View;
进口android.view.View.OnClickListener;
进口android.widget.Button;
进口android.widget.Toast;公共类MainActivity延伸活动{
按钮introAudio;
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
introAudio =(按钮)findViewById(R.id.introAudio);
introAudio.setOnClickListener(新OnClickListener(){ @覆盖
公共无效的onClick(查看为arg0){
MediaPlayer的熔点为新的MediaPlayer();
字符串名称=问候;
mp.setOnCompletionListener(新OnCompletionListener(){ @覆盖
公共无效onCompletion(MediaPlayer的MP){
mp.release();
} }); 尝试{
mp.setDataSource(android.resource://com.example.lvm/raw/+姓名);
MP prepare()。
mp.start();
}赶上(例外五){
Toast.makeText(MainActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
}
}
});
} @覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
//充气菜单;如果是present这增加了项目操作栏。
。getMenuInflater()膨胀(R.menu.activity_main,菜单);
返回true;
}}
解决方案
prepare失败:状态为0x1
是因为无论文件路径存在的是错误的或不正确的目录或URL或URI找到。
尝试在code以下。
mediaplayer.setDataSrouce(MainActivity.this,Uri.parse(android.resource://com.example.lvm/raw/+名));
//没有任何扩展添加到名称,例如。 `R.raw.your_raw_file`
而不是
的 mp.setDataSource(android.resource://com.example.lvm/raw/+姓名);
I am trying to play audio file from res/raw folder.
but getting the error
prepare failed: status = 0x1
My code:
package com.example.lvm;
import java.io.IOException;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
Button introAudio;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
introAudio=(Button)findViewById(R.id.introAudio);
introAudio.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
MediaPlayer mp = new MediaPlayer();
String name = "greeting";
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
try {
mp.setDataSource("android.resource://com.example.lvm/raw/"+name);
mp.prepare();
mp.start();
} catch (Exception e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
解决方案
prepare failed:status 0x1
is occuring because of either file path is in error or incorrect directory or Url or Uri found.
Try following in your code.
mediaplayer.setDataSrouce(MainActivity.this, Uri.parse("android.resource://com.example.lvm/raw/"+name));
//do not add any extension to name, eg. `R.raw.your_raw_file`
Instead of
mp.setDataSource("android.resource://com.example.lvm/raw/"+name);
这篇关于Android的播放器除了提高prepare失败:状态为0x1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文