Tôi có trình phát âm thanh sử dụng BackgroundAudioPlayer
cùng với AudioPlayerAgent
. Tất cả mọi thứ đang làm việc tốt, ngoại trừ có một trường hợp sử dụng tôi không biết làm thế nào để xử lý.Phản ứng với tác vụ người dùng trong AudioPlayerKhi ứng dụng bị tạm ngưng
Nếu tôi phát bản âm thanh trong ứng dụng của mình và sau đó người dùng chuyển sang ứng dụng khác, bản âm thanh tiếp tục phát trong nền như mong muốn - nhưng tôi đoán ứng dụng của tôi hiện đã được đổi sang bộ nhớ và bị treo.
Câu hỏi của tôi là: nếu người dùng bắt đầu phát nhạc trong một ứng dụng khác, tôi sẽ nhận được hành động AudioPlayerAgent.UserAction.Stop
làm gọi lại số AudioAgent
. Nhưng tôi có thể làm bất cứ điều gì về điều này ngay từ quan điểm của ứng dụng của tôi không? Ý tôi là, tôi muốn lưu vị trí phát lại âm thanh trong đó người dùng ở trong ứng dụng của tôi, nhưng ứng dụng của tôi đã bị tạm ngưng, phải không?
Khi ứng dụng của tôi ở nền trước và âm thanh dừng lại, tôi nhận được sự kiện BackgroundAudioPlayer.Instance.PlayerState.Stopped
. Ở đây tôi thường lưu vị trí phát lại. Nhưng nếu người dùng chuyển sang ứng dụng khác để phát nhạc, tôi không nhận được sự kiện này.
Vì vậy, tôi chỉ tự hỏi cách xử lý loại trường hợp này. Tôi có thể làm gì để cải thiện trải nghiệm người dùng không?
cách duy nhất là để tiết kiệm mà vị trí để Isolated Storage trong các mã đại lý – onmyway133
Sau khi viết câu hỏi này, tôi đã cũng nghĩ đến kho lưu trữ riêng biệt. Chỉ cần không chắc chắn nếu đó là truy cập từ mã đại lý. Dường như nó là. Sẽ thử. Cảm ơn! –
@JohanPaul - Đảm bảo bạn sử dụng ['Mutex'] (http://msdn.microsoft.com/en-us/library/system.threading.mutex%28v=vs.95%29.aspx) khi truy cập bộ nhớ bị cô lập, nếu không thì ứng dụng và tác nhân nền của bạn có thể cố gắng truy cập nó cùng một lúc. –