2011-02-04 19 views
4

私の人生で初めてのAndroidアプリをリリースしました。それはAudikoです。アンドロイドでストリームオーディオを再生する際の問題Samsung Galaxy S

Android MediaPlayerを使用すると、MP3ファイルのストリーミング中にSamsung Galaxy Sで発生するエラーが見つかりました。それができるかについて

E/PlayerDriver(2747): PlayerDriver::it is a not Protected file 

E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
D/  (2747): PVFile::GetFileName 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 
E/  (2747): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl 

V/PlayerDriver(2747): Completed command PLAYER_INIT status=-1 
E/PlayerDriver(2747): Command PLAYER_INIT completed with an error or info -1 
E/MediaPlayer(13523): error (1, -1) 
E/MediaPlayer(13523): Error (1,-1) 

任意の提案:私はこれを見るログで

+0

コードを投稿できますか? – Fixpoint

+0

何も特別なものはありません。 MediaPlayer APIを使用するだけの標準で、これ以外のデバイスでも動作します。私はそれがいくつかのデバイス固有の問題だと思います。 –

+0

私も、Samsung Galaxy Sでストリーミングに失敗したという報告をユーザーから受け取りました。 –

答えて

0

私はいくつかのデバイスでこのような問題を抱えていました。あなたの最善の策は、一時的にファイルをダウンロードしてストリーミングするのではなく、そのバージョンを再生することです。つまり、着信音が比較的小さい場合、これはうまくいくでしょう。これは、通常はそうだと思います。

0

私は非常に似たようなものに遭遇しました。私はデバッグにGalaxy S2を使用しています。ライブラジオストリームを再生しようとしているうちに、私はあらゆる種類のエラーや問題を抱えています。いくつかのデバイスがwmaファイル(Windows Media Audio形式)をサポートしていますが、Galaxyではそうした種類のストリームを再生可能なストリームに変換する方法が見つからない限り、問題が発生しています。

私が問題のために見つけた(種類の)解決策は、次のようなものです。私は以前あなたができることは、MediaPlayerの代わりにInputStreamを読むことをお勧めします。オーディオ(私はWMAがうまくいかないと言っていたので、今はMp3でしか動かなかった)mp3ファイルにオーディオを数秒間入れてから、MediaPlayerを使ってそのファイルをローカルで再生しながら、オーディオの次の部分を(ファイルの長さを設定することができます)

私は実装しようとしていたコードの一部を残して、私の電話でmp3をバッファリングして再生するために働いていました、しかし私はプロジェクトを続行していませんでした私は避難所がありますwmaのための派手な解決策はまだ見つかりませんでした。

public void onClick(View v) 
     { 
      try 
      { 

       URL url = new URL("http://........./myStation.mp3"); 
       InputStream inputStream = url.openStream(); 
       long bytesRead = 0; 

        File root = android.os.Environment.getExternalStorageDirectory();    
        File dir = new File (root.getAbsolutePath() + "/usbStorage"); 
        if(dir.exists()== false) 
        { 
         dir.mkdirs(); 
        } 

       File outputSource = new File(dir, "test.mp3"); 
       FileOutputStream fileOutputStream = new FileOutputStream(outputSource); 
       //Log.d(LOG_TAG, "FileOutputStream: " + outputSource); 
       int c; 
       int howManyBytes = 12000; 
      //You decide the amount of bytes to read because the live stream while keep on going forver 
       while ((c = inputStream.read()) != 10000) 
       { 

        fileOutputStream.write(c); 
        bytesRead++; 
        if (bytesRead > howManyBytes) break; 
       } 
       fileOutputStream.close(); 
       MediaPlayer mp = MediaPlayer.create(this, Uri.fromFile(outputSource)); 
       mp.start(); // no need to call prepare(); create() does that for you 
      } 
      catch(Exception e) 
      { 
       Log.e("radio", e.getMessage()); 
      } 
     } 
関連する問題