2012-01-10 27 views
6

Tôi có một hoạt động mà có một VideoView được đồng bộ chuẩn bị một video:MediaPlayer: ngừng gọi trong tình trạng 4

Uri mUri = "uri to streaming video" 
VideoView mVideoView = (VideoView) rootView.findViewById(R.id.videoView); 
mVideoView.setOnErrorListener(this); 
mVideoView.setOnCompletionListener(this); 
mVideoView.setVideoURI(mUri); 
mVideoView.setMediaController(null); 

mVideoView.setOnPreparedListener(this); 

Trong khi nó đang "chuẩn bị" Tôi thấy một ProgressDialog ... nếu tôi bấm lại nút trong trạng thái này được lỗi sau được in để ADB và hoạt động treo lặng lẽ với phải chờ một chút tại một màn hình màu đen:

E/MediaPlayer(2204): stop called in state 4 
E/MediaPlayer(2204): error (-38, 0) 
W/ActivityManager( 59): Activity pause timeout for HistoryRecord{45080368 com.myapp.VideoPlayerActivity} 

là gì cách tốt nhất để ngăn chặn một VideoView từ chuẩn bị một đoạn video, do đó bạn có thể thoát khỏi một Hoạt động?

Lưu ý: Tôi không có quyền truy cập vào các đối tượng MediaPlayer thực tế cho đến khi gọi lại cho video đang được chuẩn bị được gọi là:

@Override 
public void onPrepared(MediaPlayer player) 

... mà đã không xảy ra trong khi MediaPlayer/VideoView là " đang chuẩn bị ".

+0

có bạn giải quyết nó ?? – frayab

+0

NPike Tôi đang gặp vấn đề tương tự. bạn đã giải quyết được vấn đề ? Sau đó như thế nào ? Hãy chia sẻ kiến ​​thức. –

+0

Có ai tìm cách sửa lỗi này không? Tôi biết thread là cũ nhưng tôi có cùng một vấn đề chính xác. – nawlrus

Trả lời

2

Tôi chưa thử nghiệm bản thân mình nhưng bạn sẽ có thể reset() MediaPlayer khi bạn đang ở trạng thái chuẩn bị.

+0

không thể lấy tham chiếu MediaPlayer trước khi video sẵn sàng, do đó không thể đặt lại Media Player – user3542552

1

Thử gọi MediaPlayer.prepare() trước khi làm MediaPlayer.stop() khi nút quay lại được nhấn (thực hiện onPause hoặc phương pháp hoạt động onStop)

+1

không thể lấy tham chiếu MediaPlayer trước khi video sẵn sàng, do đó không thể gọi MediaPlayer.prepare() – user3542552

Các vấn đề liên quan