嘿,我无法从我的localhost服务器(以及其他带有原始mp3文件的网站)播放流。我的代码适用于已注释掉的网站,因此我认为它有一些内容 做服务器而不是java代码。
public class MainActivity extends ActionBarActivity{
//static final String ANCHOR = "http://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3";
static final String ANCHOR = "http://spintron.ddns.net/Random%20Access%20Memories/07%20-%20Touch.mp3";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer mp = new MediaPlayer();
mp.setVolume(1, 1);
try{
mp.setDataSource(ANCHOR);
mp.prepareAsync();
}catch(Exception e){
e.printStackTrace();
}
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Toast.makeText(MainActivity.this,"Prepared",Toast.LENGTH_LONG).show();
mp.start();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

答案 0 :(得分:0)
要播放音乐文件,请参阅以下代码。 我的res / raw文件夹包含options_music.wav音乐文件。
// Play Music
MediaPlayer mp = new MediaPlayer();
AssetFileDescriptor descriptor;
try {
descriptor = getAssets().openFd("options_music.wav");
mp.setDataSource(descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength());
descriptor.close();
mp.prepare();
mp.start();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//Log.e("Music", "Music Completed........");
mp.start();
}
});
} catch (Exception e) {
Log.e("ErrorMusic", "Cant Play Music File"+e);
}
对于您的网址,请确保您的网址已正确编码并可通过移动设备访问。