我目前正在尝试设计一个简单的应用程序,流媒体互联网广播电台.我有电台的URL,我正在设置媒体播放器
MediaPlayer mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(URL);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)
模拟时程序没有崩溃,但没有播放,我收到以下错误:
start called in state 0
Run Code Online (Sandbox Code Playgroud)
就在它下面
Error (-38,0)
Run Code Online (Sandbox Code Playgroud)
有谁知道这意味着什么?
我已经阅读了一些有关这些状态错误的内容,但找不到任何适用于我的项目的内容.
即使是模拟器,我的设备也没有声音.
实际上,在"mMediaPlayer.create(this,musicIds [0]);"这一行中,eclipse告诉我两个选择:"使用'MediaPlayer'(声明类型)改变对静态的访问"或"添加@SuppressWarnings'静态访问' to on Create()".顺便说一句,我采取了eclipse的建议........但仍然无法正常工作.
PS我从其他项目(寻呼机)调用了一个包.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.diff_title);
setContentView(R.layout.title_layout);
viewFlow = (ViewFlow) findViewById(R.id.viewflow);
DiffAdapter adapter = new DiffAdapter(this);
viewFlow.setAdapter(adapter);
TitleFlowIndicator indicator = (TitleFlowIndicator) findViewById(R.id.viewflowindic);
indicator.setTitleProvider(adapter);
viewFlow.setFlowIndicator(indicator);
//Set all views
listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listeStrings));
final ImageView imv=(ImageView)findViewById(R.id.imv);
imv.setImageResource(imageIds[0]);
final ImageView pic = (ImageView)findViewById(R.id.Picture);
pic.setImageResource(imageIds[0]);
btnPlay = (ImageButton)findViewById(R.id.btnplay);
btnPlay.setOnClickListener(this);
btnNext = (ImageView)findViewById(R.id.imvnext);
btnLast = (ImageView)findViewById(R.id.imvlast);
final TextView textview = (TextView)findViewById(R.id.textView2);
textview.setText(listeStrings[0]);
seekBar = (SeekBar)findViewById(R.id.seekbar);
//seekBar.setMax(mMediaPlayer.getDuration()); …Run Code Online (Sandbox Code Playgroud)