2012-02-02 66 views
5

Tôi muốn sử dụng các API khác nhau được liệt kê trên trang "Unsupported APIs for Background Agents" này, từ trong số AudioPlayerAgent của tôi. Trang đó đề cập cụ thể ScheduledTaskAgents:API không được hỗ trợ cho AudioPlayerAgent

Có một bộ API không thể được sử dụng trong mã được thực thi bởi Tác vụ theo lịch biểu. Điều này bao gồm mã chứa trong các lớp triển khai ScheduledTaskAgent dưới dạng mã trong bất kỳ thư viện nào được gọi từ ScheduledTaskAgent. Một số các API này được phát hiện bằng công cụ phát triển và sẽ gây ra lỗi khi chạy hoặc biên dịch thời gian. Các API khác là bị hạn chế bởi quá trình gửi ứng dụng Windows Phone Marketplace .

Điều này có nghĩa là AudioPlayerAgentscó thể sử dụng các API được liệt kê trên trang đó không? Cả hai đều được kế thừa Microsoft.Phone.BackgroundAgent, nhưng chỉ có một được đề cập rõ ràng trên trang đó và tôi không chắc chắn nếu một AudioPlayerAgent được coi là một Scheduled Task. Bất cứ ai có thể xác nhận một cách này hay cách khác?

Trả lời

1

Tôi nghĩ rằng đối với "API không được hỗ trợ từ Đại lý nền" cũng áp dụng cho Âm thanh nền, ngoại trừ rõ ràng là BackgroundAudioPlayer. Tôi đã sao lưu điều này bằng cách cố gắng thêm một trong các API không được hỗ trợ vào tác nhân và chạy Bộ kiểm tra Marketplace của SDK đối với dự án thử nghiệm của tôi (tôi đã thử Microsoft.Devices.VibrateController).

này gây ra sự thất bại dự kiến:

Kết quả chi tiết

[LỖI]: API không được hỗ trợ không thể được sử dụng bởi một đại lý nền. Assembly AudioPlaybackAgent1.dll đã cố gắng sử dụng Microsoft.Devices.VibrateController :: get_Default.

[LRI]: Không thể sử dụng API không được hỗ trợ bởi tác nhân nền. Assembly AudioPlaybackAgent1.dll đã cố gắng sử dụng Microsoft.Devices.VibrateController :: Bắt đầu.

[LRI]: Không thể sử dụng API không được hỗ trợ bởi tác nhân nền. Assembly AudioPlaybackAgent1.dll đang cố gắng sử dụng Microsoft.Devices.VibrateController.

Tôi khuyên bạn nên kiểm tra API của mình dựa trên công cụ này và xem kết quả bạn nhận được.

Những hạn chế API này có ý nghĩa đối với tôi vì bạn có thể nghĩ rằng AudioPlayerAgent là tác nhân được lập lịch chỉ chạy khi có người dùng nhập (ví dụ: người dùng nhấn phát, tạm dừng, bỏ qua) hoặc khi sự kiện âm thanh có liên quan xảy ra (ví dụ: kết thúc, theo dõi mới đã sẵn sàng, bắt đầu phát lại). Việc sử dụng CPU tương tự, thời gian chạy và các ràng buộc bộ nhớ tồn tại trên các tác nhân âm thanh nền khi chúng thực hiện trên các tác nhân được lên lịch.

+0

Cảm ơn, có vẻ như trang MSDN đó cũng bao gồm 'AudioPlayerAgents'. – keyboardP

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