Android 如何在可运行线程中创建媒体播放器

Android 如何在可运行线程中创建媒体播放器,android,media-player,runnable,Android,Media Player,Runnable,我想在可运行线程中创建媒体播放器,但在创建时收到此警告消息“应已将字幕控制器设置为错误(-19,0)”。我不知道这个警告信息到底是什么 我张贴我的代码,请通过它,并提出一些解决方案 private void beginListenForData() { final Handler handler = new Handler(); final byte delimiter = 10; stopWorker = false; readBufferPo

我想在可运行线程中创建媒体播放器,但在创建时收到此警告消息“应已将字幕控制器设置为错误(-19,0)”。我不知道这个警告信息到底是什么

我张贴我的代码,请通过它,并提出一些解决方案

    private void beginListenForData() {

    final Handler handler = new Handler(); 
    final byte delimiter = 10;  

    stopWorker = false;
    readBufferPosition = 0;
    readBuffer = new byte[1024];
    workerThread = new Thread(new Runnable()
    {
        public void run()
        {                
           while(!Thread.currentThread().isInterrupted() && !stopWorker)
           {
                try 
                {
                    int bytesAvailable = inStream.available();                        
                    if(bytesAvailable > 0)
                    {
                        byte[] packetBytes = new byte[bytesAvailable];
                        inStream.read(packetBytes);
                        for(int i=0;i<bytesAvailable;i++)
                        {
                            byte b = packetBytes[i];
                            if(b == delimiter)
                            {
                                byte[] encodedBytes = new byte[readBufferPosition];

                                System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length);

                                final String data = new String(encodedBytes, "US-ASCII");
                                readBufferPosition = 0;

                                handler.post(new Runnable()
                                {
                                    public void run()
                                    {
                                        result.setText(data);

                                        if(data.contains("a")){
                                           //MediaPlayer
                                           mPlayer =   MediaPlayer.create(getApplicationContext(), R.raw.a);
                                           mPlayer.start();
                                        }else if(data.contains("b")){
                                            if (mPlayer != null) {
                                                mPlayer.stop();
                                                mPlayer.release();
                                                mPlayer = null;
                                           }
                                        }
                                    }
                                });
                            }
                            else
                            {
                                readBuffer[readBufferPosition++] = b;
                            }
                        }
                    }
                } 
                catch (IOException ex) 
                {
                    stopWorker = true;
                }
           }
        }
    });

    workerThread.start();
}
private void beginListenForData(){
最终处理程序=新处理程序();
最后一个字节分隔符=10;
stopWorker=false;
readBufferPosition=0;
readBuffer=新字节[1024];
workerThread=新线程(new Runnable())
{
公开募捐
{                
而(!Thread.currentThread().isInterrupted()&&!stopWorker)
{
尝试
{
int bytesavable=inStream.available();
如果(字节可用>0)
{
byte[]packetBytes=新字节[bytesAvailable];
流内读取(packetBytes);
对于(int i=0;i