Tôi đã dành hai ngày cho việc này và đã không nhận được hư không. Tôi đang cố gắng sử dụng ứng dụng [MPMusicPlayerControllerMusicPlayer] để phát âm thanh được chọn từ thư viện iPod của người dùng và chạy nó ở chế độ nền cũng như hỗ trợ các sự kiện từ xa. Bây giờ việc phát nhạc thực sự là phần dễ dàng. Lấy ví dụ, chọn các bài hát, gán hàng đợi nhạc và chơi. Ngay và luôn. NHƯNG ... a) Tôi không thể làm cho nó để chơi trong nền, và b) ngay cả khi ở phía trước tôi không thể có được sự kiện điều khiển từ xa để làm việc ở tất cả!Hỗ trợ điều khiển âm thanh và từ xa nền bằng MPMusicPlayerController trên iOS 4. Tính năng này có thể thực hiện được không?
Và trước khi bạn hỏi, có, tôi đã đặt mục nhập plist, danh mục phiên âm thanh, cuộc gọi để nói rằng tôi quan tâm đến việc nhận sự kiện từ xa và thiết lập trả lời đầu tiên để lắng nghe họ. có, tôi đã đọc từng tài liệu về chủ đề mà tôi có thể tìm thấy * (* một công việc mà tôi đổ lỗi cho Apple vì không rõ ràng về chủ đề này, cũng như không có mã ví dụ nào cho nó!) và tôi đã xem mỗi một trong những video WWDC liên quan đến nó (thậm chí đóng băng màn hình để sao chép mã chính xác từ ví dụ của họ ...) vì vậy trừ khi tôi đã bỏ lỡ điều gì đó không có trong danh sách này, trả lời với bất kỳ câu trả lời nào sẽ không Cứu giúp.
Một điều nữa ... Tôi đang nói rõ ràng về việc sử dụng MPMusicPlayerController mà theo tài liệu, không bao giờ sử dụng phiên ứng dụng. Nó luôn sử dụng phiên hệ thống. (. Có lẽ đó là của riêng mình trả lời câu hỏi của tôi, nhưng các tài liệu không rõ ràng nói rằng vì vậy tôi không chắc chắn, vì thế câu hỏi này)
Điều đó nói rằng, sau hai ngày, suy nghĩ của tôi là thế này:
Khi sử dụng MPMusicPlayerController, bất kể bạn gọi phương thức nào hoặc mục nhập plist nào, ứng dụng của bạn sẽ không bao giờ chạy dưới nền. Giai đoạn. Nếu bạn sử dụng thể loại ipodMusicPlayer, nhạc tiếp tục phát, nhưng đó là vì iPod đang phát, không phải ứng dụng của bạn. Thay vào đó, nếu bạn sử dụng cá thể applicationMusicPlayer, khi chuyển sang nền, nhạc sẽ dừng. Trong cả hai trường hợp, ứng dụng của bạn bị tạm ngưng.
Bất kể bạn đang sử dụng trường hợp ipodMusicPlayer hoặc ứng dụngMusicPlayer, tất cả các sự kiện từ xa đều tự đi đến chính ứng dụng iPod, chứ không phải của bạn, ngay cả khi bạn đã yêu cầu chúng một cách rõ ràng. Nếu bạn đang sử dụng cá thể applicationMusicPlayer và bạn sử dụng điều khiển từ xa để chọn 'Phát', ứng dụng iPod sẽ nhận lệnh để âm thanh của bạn tắt và bị gián đoạn và quá trình phát lại bắt đầu trong ứng dụng iPod. Nếu bạn đã chọn ipodMusicPlayer thay vào đó, sau đó tất nhiên nó không quan trọng như bạn đã rõ ràng nói rằng bạn về cơ bản chỉ quan tâm đến điều khiển từ xa các ứng dụng iPod mà một lần nữa, là những gì thực sự nhận được các sự kiện từ xa.
Biểu tượng trong điều khiển chuyển đổi nhanh ở dưới cùng không bao giờ thay đổi biểu tượng ứng dụng của bạn bởi vì một lần nữa, ứng dụng của bạn chưa bao giờ được thiết lập để nhận sự kiện. Ứng dụng iPod, đó là lý do tại sao biểu tượng của nó xuất hiện ở đó.
Vì vậy, điều tôi muốn biết là ... tôi có sai ở đây không? Có ai thành công có thể sử dụng MPMusicPlayerController và có thể chặn các sự kiện từ xa không? Mặc dù tôi thích sử dụng applicationMusicPlayer với hỗ trợ nhạc nền nên tôi không bỏ qua iPod của người dùng, điều lớn hơn là thông báo điều khiển từ xa, có nghĩa là tôi phải sử dụng ipodMusicControl và giữ ứng dụng của tôi ở nền trước để chặn những tin nhắn, vì vậy hãy là nó. Đó là xấu xí theo cách đó, nhưng ít nhất nó là một cái gì đó.
Ví dụ mã hoặc ít nhất các bước rõ ràng chống lại một trong các mẫu ứng dụng tích hợp sẽ được đánh giá cao. (Thậm chí không cần thực hiện ... chỉ cần các bước. Hy vọng rằng sẽ xoa dịu không thể tránh khỏi 'Nó vẫn còn dưới NDA' điều mà mọi người tiếp tục trả lời câu hỏi với.)
Đánh dấu
Cảm ơn bạn rất nhiều vì đã đăng bài này! – genkilabs
Không sao cả. Thực sự bực bội rằng Apple không rõ ràng hơn về những gì đang diễn ra ở đó. Thậm chí nhiều bực bội hơn (mặc dù có thể hiểu được vì lý do DRM) là bạn không thể thực hiện các tệp Audible theo cách này, điều này đã hủy hoại ứng dụng của chúng tôi vì đó là trọng tâm chính. Những gì bạn có thể làm! Tuy nhiên, vui mừng điều này đã giúp. – MarqueIV