2010-10-19 30 views
5

Tôi hiện đang phát triển một ứng dụng web-tv sử dụng độ phân giải MPMoviePlayerViewController. MPMoviePlayer để phát lại nội dung video trực tuyến trên iphone.MPMoviePlayerViewController ngừng phát lại khi rút tai nghe

sự cố tôi gặp phải ở đây là khi tôi rút tai nghe ra (khi xem TV), người chơi sẽ dừng lại. Do thực tế là tôi không hiển thị các nút điều khiển tiêu chuẩn (nút trước, nút phát/tạm dừng, nút tiếp theo) nhưng điều khiển tùy chỉnh của tôi, người dùng bị kẹt với hình ảnh được đóng băng trừ khi anh ấy chuyển sang kênh mới ..

có cách nào để phát hiện gián đoạn phát lại do rút tai nghe không?

nhờ cho Tipps và thủ thuật của bạn trước,

sam

Trả lời

3

Tôi không có một câu trả lời trực tiếp câu hỏi của bạn. Nhưng tôi nghĩ MPMoviePlayerPlaybackStateDidChangeNotification sẽ đủ tốt để giải quyết vấn đề của bạn. Khi bạn được thông báo, hãy nhận trạng thái phát lại từ thuộc tính playbackState của đối tượng trình phát phim và thực hiện hành động thích hợp.

2

Xây dựng về việc trả lời chấp nhận với một số mã:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(videoPlaybackStateChanged:) 
              name:MPMoviePlayerPlaybackStateDidChangeNotification 
              object:moviePlayer]; 


- (void)videoPlaybackStateChanged :(NSNotification *)notification 
{ 
    if (moviePlayer != nil && [moviePlayer playbackState] == MPMoviePlaybackStatePaused) 
    { 
     [moviePlayer play]; 
    } 
} 
+0

Nó đáng chú ý là các '[MoviePlayer playbackState]' thay đổi cho 'MPMoviePlaybackStatePaused' ở phần cuối của bộ phim. Vì vậy, nếu bạn không muốn phim lặp lại, bạn sẽ cần phải kiểm tra nó không phải ở cuối với '[moviePlayer currentPlaybackTime]! = [MoviePlayer duration]'. – zyzof

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