2013-08-20 44 views
5

Tôi có mã android để phát video bằng cách sử dụng các nút điều khiển và quay video như tạm dừng, tua lại và chuyển tiếp bằng cách sử dụng bộ điều khiển nhịp tim. Nó hoạt động trên nexus S cũng như nhiều điện thoại samsung, nhưng các nút mediacontroller dường như không hoạt động trên nexus 7! Tôi cần nó để làm việc trên tất cả các thiết bị. Có điều gì khác mà tôi cần phải làm không?mediacontroller không hoạt động trên tab nexus 7

MediaController mediacontroller = new MediaController(Activity.this); 
mediacontroller.setAnchorView(videoview); 
Uri video = Uri.parse("path/to/video"); 
videoview.setMediaController(mediacontroller); 
videoview.setVideoURI(video); 
videoview.start(); 
+0

Liên kết Trình theo dõi vấn đề (không có phản hồi tại thời điểm này): https://code.google.com/p/android/issues/detail?id=59776 – Geobits

Trả lời

3

Chỉ cần dò tìm câu trả lời này trong Unable to pause/forward/backward video using mediacontroller in android. Một số thiết bị LG dường như cũng gặp sự cố này.

Như đã đề cập bởi @Vineela Yarlagadda, bạn cần phải ghi đè lên các phương pháp dưới đây VideoView

@Override 
public boolean canSeekForward() { 
    return true; 
} 

@Override 
public boolean canSeekBackward() { 
    return true; 
} 

@Override 
public boolean canPause() { 
    return true; 
} 

Tested & công trình trên Nexus 7.


giải pháp thay thế: Sử dụng một SurfaceView thay vì một VideoView như được đề xuất trong mã mẫu trong ApiDemos.

setContentView(R.layout.media_player2); 
mSurface = (SurfaceView) findViewById(R.id.surface); 
holder = mSurface.getHolder(); 
holder.addCallback(this); 

mMediaPlayer = new MediaPlayer(); 
mMediaPlayer.setDataSource(stream); 
mMediaPlayer.setDisplay(holder); 
mMediaPlayer.prepareAsync(); 
mController = new MediaController(this); 
mMediaPlayer.setOnBufferingUpdateListener(this); 
mMediaPlayer.setOnCompletionListener(this); 
mMediaPlayer.setOnPreparedListener(this); 
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mController.setMediaPlayer(this); 
mController.setAnchorView(mSurface); 

Tôi đã mở mã lỗi.google.com/p/android/issues/detail?id=59776 sau khi gặp phải vấn đề tương tự như @kriswiz khi tôi sử dụng VideoView và Trình phát. Video sẽ phát trên Nexus 7 và trên Samsung Nexus ngay bây giờ.

+0

yeah tôi đã thấy cùng một bài đăng với bạn "Không thể tạm dừng/chuyển tiếp/video lùi bằng cách sử dụng bộ điều khiển trung tâm trong Android ". Đã thử nó quá Nhưng đã không làm việc cho tôi. – kriswiz

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