2012-01-26 6 views
2

ボタンから呼び出されたこのコードを使用しようとしていますが動作しません。状態0でエラー(-38,0)Media Playerが状態0で呼び出されました。エラー(-38,0)エラー

public void audioPlayer(String path, String fileName){ 

//set up MediaPlayer  
     MediaPlayer mp = new MediaPlayer(); 

     try { 
      mp.setDataSource(HeyActivity.this, Uri.parse(path+"/"+fileName)); 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     try { 
      mp.prepare(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      System.out.print("hey"); 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     mp.start(); 

    } 
+0

間違っ – Intathep

+0

SRY何を知るには短すぎます私のコードを編集することを知っている –

答えて

2

OnPreparedListenerを設定し、その中でstartメソッドを呼び出してみてください。このように:

MediaPlayer mp = new MediaPlayer(); 
mp.setOnPreparedListener(new OnPreparedListener() { 

    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
    } 
}; 
); 
1

私は最終的にオーディオをサポートするエミュレータで実行して問題を解決しました!

これは簡単なことでした!

ウインドウ> AVD Managerは>あなたのAVDを編集]> [ハードウェア]> [新規]> [オーディオ再生のサポート(私はスナップショットから実行していた安全側の原因になるために新しいものを作成した)

関連する問題