Android的播放器除了提高prepare失败:状态为0x1 [英] Android player raising exception prepare failed:status 0x1

查看:216
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆