2014-05-10 18 views
5

Tôi đã bật và chạy MPNowPlayingInfoCenter nhưng vẫn còn một vấn đề. bất kể trạng thái trình phát thực tế của tôi, MPNowPlayingInfoCenter luôn "phát" và hiển thị nút tạm dừng. Khi nhấn nó sẽ kích hoạt sự kiện tạm dừng.MPNowPlayingInfoCenter luôn ở trạng thái phát

Khi trình phát của tôi thay đổi trạng thái, ví dụ như tạm dừng, tôi cập nhật MPNowPlayingInfoCenter qua khóa MPNowPlayingInfoPropertyPlaybackRate.

Có cách nào khác để đặt trạng thái MPNowPlayingInfoCenter thành bị tạm dừng không?

Bất kỳ gợi ý nào được đánh giá cao!

Trả lời

0

Tìm thấy ra vấn đề là khi một nguồn thứ hai của đầu ra âm thanh được chơi trong khi tôi bao gồm máy nghe nhạc phương tiện truyền thông đã được điều khiển thông qua nowplayingcenter nó bằng cách nào đó bị bỏ qua tốc độ phát lại tự đặt mình và phát hiện chơi âm thanh.

Vì vậy, giải pháp cho tôi là tạm dừng âm thanh thứ hai. Trong tình huống của tôi điều này là có thể nhưng tôi không biết làm thế nào để vượt qua điều này khi âm thanh thứ hai là rất quan trọng cho các ứng dụng. Tôi sẽ vui vẻ chấp nhận bất kỳ câu trả lời nào giải quyết vấn đề này một cách thanh lịch hơn.

+0

Tôi đã gặp sự cố tương tự. Vì vậy, tôi có một FeedViewController với nhiều video nhưng nó không chơi âm thanh mà luôn luôn chơi. Nếu bạn chọn một trong các video trong FeedViewController, PlayerViewController sẽ xuất hiện và phát toàn bộ video có âm thanh. Tôi nhận thấy rằng nếu tôi đã không tạm dừng mỗi video trong FeedViewController trước khi đi đến PlayerViewController, sau đó nút "play/pause" sẽ không cập nhật cho phù hợp. Có cách nào bạn nghĩ rằng để thực hiện công việc này mà không cần tạm dừng các đoạn video bên trong của PlayerViewController trong trường hợp của tôi? – JEL

+0

Tôi đã đăng một câu hỏi và ** CẬP NHẬT ** của tôi trong câu hỏi cho thấy một giải pháp tương tự như của bạn --- nhưng vẫn không hoàn hảo trong trường hợp của tôi. :) http://stackoverflow.com/questions/43282423/play-pause-button-not-updating-in-ios-command-center – JEL

+0

Tôi nghĩ rằng vấn đề cơ bản là iOS theo dõi phát lại âm thanh dưới mui xe và phát hiện nếu Bạn vẫn chơi. Nếu bạn sử dụng âm thanh thường xuyên, điều này có ý nghĩa vì bạn chỉ cần một bài hát ví dụ tại một thời điểm nhưng với âm thanh bị tắt trong nền, điều này sẽ làm rối tung mọi thứ. Tôi không nghĩ rằng sẽ có một giải pháp hoàn hảo như bạn không nhận được 100% kiểm soát thủ công trên các trung tâm chơi ngay bây giờ. –

0

Hãy thử điều này:

NSMutableDictionary *currentlyPlayingTrackInfo = [NSMutableDictionary dictionaryWithCapacity:7]; 
currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = @((Float64)[player currentTime]); 
    if (!SYSTEM_VERSION_OF_DEVICE_LESS_THAN(@"7.0")) 
    { 
     currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyPlaybackRate] = [NSNumber numberWithDouble:_isHere == NO?1:0]; 
    } 
    else 
    { 
     currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyPlaybackRate] = [NSNumber numberWithDouble:1]; 
    } 
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:currentlyPlayingTrackInfo]; 
+1

Xin lỗi vì trả lời muộn. Tôi gặp sự cố khi sử dụng mã của bạn. Biến _isHere (trạng thái trình phát hiện tại là gì?) Và tại sao phiên bản playbackRate cho Phiên bản <7.0 luôn được đặt thành 1. Bên cạnh đó InfoCenter vẫn hiển thị trạng thái "đang phát". –

+0

Tôi nghĩ rằng thiết lập 'MPNowPlayingInfoPropertyPlaybackRate' là đi đúng hướng nhưng chắc chắn có nhiều hơn để giải quyết vấn đề này. – Warpling

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