2017-10-02 10 views
0

私はバックグラウンドでサーバーから.wavファイルをストリーミングしようとしています。 .mp3オーディオファイルでうまく動作します。しかし、.wavファイルを再生しようとすると、再生されません。私はオーディオプレーヤーをサービスとして実装しました。以下は、コードサーバーからのAndroidストリーミング.wavオーディオファイルが機能していません

import android.app.Service; 
import android.content.Intent; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.os.IBinder; 
import android.util.Log; 
import android.widget.Toast; 


public class SoundService extends Service implements MediaPlayer.OnPreparedListener { 

private static final String TAG = "MyService"; 
String url; 
MediaPlayer mp; 

public IBinder onBind(Intent intent) { 

    Log.i("OnBind", "Inside OnBind"); 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public void onCreate() { 
    Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show(); 
    Log.i(TAG, "onCreate"); 

    mp = new MediaPlayer(); 
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
} 

@Override 
public void onDestroy() { 
    Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show(); 
    Log.d("Stopping", "onDestroy"); 

    mp.stop(); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startid) { 
    Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show(); 
    Log.i("Starting", "onStart"); 

    url = intent.getExtras().getString("url"); 
    Log.i("Starting2", "onStart2"); 
    try { 
     mp.reset(); 
     Log.i("URLIS",""+url); 
     mp.setDataSource(url); 
     Log.i("Datasource", "datasource"); 
     mp.setOnPreparedListener(this); 
     Log.i("preparedlistener", "PreparedListener"); 
     mp.prepareAsync(); 
     Log.i("prepareasync", "prepareAsync"); 
    } catch(Exception e){} 
    return START_STICKY; 
} 

@Override 
public void onPrepared(MediaPlayer mediaPlayer) { 
    Log.i("onprepared", "insideprepared"); 
    mediaPlayer.start(); 
} 

}

は、サービスを目的に、オーディオファイルのURLを渡すmainActivityでonactivityresultから呼ばれています。次のように

public void onResponse(String response) { 

      Log.i("Myresponse",""+response); 

      Intent i = new Intent(MainActivity.this, SoundService.class); 
      i.putExtra("url",response); 
      startService(i); 
      Log.i("Myresponse",""+response); 
      Toast.makeText(MainActivity.this, ""+response, Toast.LENGTH_SHORT).show(); 

     } 

マイログの猫.WAVファイルをストリーミングで

10-02 15:00:03.527 27677-27734/com.example.gkrish.momdadme E/MediaPlayer: error (1, -2147483648) 
10-02 15:00:03.534 27677-27677/com.example.gkrish.momdadme E/MediaPlayer: Error (1,-2147483648) 

答えて

0

uが書いたコードが正しいとおそらく応答

+0

の問題が解決されているので、それが原因でしたサーバーのエラーに置き換えます。 –

関連する問題