3
即时通讯新的Android和im试图做一个非常简单的应用程序。它只是一个包含用于播放音频或视频文件的MediaPlayer的活动。 我设法播放一首歌,但它不会让我看到媒体播放器的控制元素!没有媒体播放器中的控制按钮显示
这里是我使用的代码:
'公共类播放器扩展活动实现OnPreparedListener, MediaPlayerControl {
private static final String TAG = "AudioPlayer";
public static final String AUDIO_FILE_NAME = "audioFileName";
private String audioFile;
private MediaPlayer mediaPlayer;
private Handler handler = new Handler();
private MediaController mediaController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
Uri myUri = Uri.parse("android.resource://com.example.mediaplayer/"
+ R.raw.lied); // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaController = new MediaController(this);
try {
mediaPlayer.setDataSource(getApplicationContext(), myUri);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException 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 {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.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.player, menu);
return true;
}
public void onPrepared(MediaPlayer mediaPlayer) {
Log.d(TAG, "onPrepared");
mediaController.setMediaPlayer(this);
mediaController.setAnchorView(findViewById(R.id.mediaController1));
handler.post(new Runnable() {
public void run() {
mediaController.setEnabled(true);
mediaController.show();
}
});
}
protected void onStop() {
super.onStop();
mediaPlayer.stop();
mediaPlayer.release();
}
public boolean onTouchEvent(MotionEvent event) {
// the MediaController will hide after 3 seconds - tap the screen to
// make it appear again
mediaController.show();
return false;
}
public boolean canPause() {
return true;
}
public boolean canSeekBackward() {
return true;
}
public boolean canSeekForward() {
return true;
}
public int getBufferPercentage() {
return 0;
}
public int getCurrentPosition() {
return mediaPlayer.getCurrentPosition();
}
public int getDuration() {
return mediaPlayer.getDuration();
}
public boolean isPlaying() {
return mediaPlayer.isPlaying();
}
public void pause() {
mediaPlayer.pause();
}
public void seekTo(int i) {
mediaPlayer.seekTo(i);
}
public void start() {
mediaPlayer.start();
}
}`
这里是我的布局XML:
`
<MediaController
android:id="@+id/mediaController1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="122dp"
android:layout_marginTop="55dp"
android:visibility="visible" >
</MediaController>
<VideoView
android:id="@+id/videoView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
`
希望你能帮助我: -/
它不能播放MP3的...虐待尝试与视频,让你知道它是否工作 – user2277099
它总是说“不能播放这个视频” 我不知道最新错了,我试过mp3和mp4。 即时通讯使用模拟器进行测试,如果这很重要! – user2277099