0

Windows Phone 7.8 アプリケーションを Windows Phone 8.1 Silverlight に移行しています。最終的には Windows Phone 10 に移行する可能性があります。

しかし今、私は Windows Phone 8.1 Silverlight で Background Audio Player をまったく動作させないという些細なことに行き詰まっています。これはおそらく明らかなことですが、数日間の実験の後、私はアイデアを使い果たしています.

何が起こるかというと、エラーメッセージが表示されます

System.InvalidOperationException: E_FAIL -2146233079

オーディオトラックを設定するときのプレーヤーから。

重要なコード スニペット

public partial class MainPage : PhoneApplicationPage
{
    BackgroundAudioPlayer player;
    Uri _trackUri;
    Uri _albumArtUri;
    string _trackUriString = "http://podcast.cbc.ca/mp3/hourlynews.mp3";
    string _albumArtUriString = "http://www.cbc.ca/podcasting/images/promo-hourlies.jpg";
    string _trackAlbum = "Album - Podcast news";
    string _trackArtist = "Artist - CBC";
    string _trackTitle = "Track title - Hourly news";
    string _tag = "testtag";
    public MainPage()
    {
        InitializeComponent();
    }
    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        player = BackgroundAudioPlayer.Instance;
        _trackUri = new Uri(_trackUriString, UriKind.Absolute);
        _albumArtUri = new Uri(_albumArtUriString, UriKind.Absolute);
    }
    private void SetTrack_button_Click(object sender, RoutedEventArgs e)
    {
        player.Track = createTrack();       // player gets error after this statement
    }
    private AudioTrack createTrack()
    {
        return new AudioTrack(_trackUri, _trackTitle, _trackArtist, _trackAlbum, _albumArtUri, _tag, EnabledPlayerControls.All);
    }

これは、組み込みのテンプレートを使用して、2 つの Silverlight 8.1 プロジェクトを使用して VisualStudio 2015 Community ソリューションで作成しました。はい、バックグラウンド オーディオ プロジェクトはメイン プログラムから参照されます。プロジェクトへのリンク

私が作成した正気を確認するために、同様の方法で、VS12 Express を使用して WP7.8 プロジェクト (プロジェクトへのリンク) を作成しました。VS15側からコードをコピーしました。そのアプリケーションは正常に動作します。

アイデアを歓迎します - 非常に

4

1 に答える 1

1

さて、最終的にこの質問をさらに調べてみました..そして、そこに..答えがありました..単純明快:この方法ではサポートされていません..このリンクで彼らは言います

"AudioPlayerAgent と AudioStreamingAgent は Silverlight 8.1 アプリではサポートされていません

Windows Phone 8 アプリのバックグラウンド オーディオ再生をサポートしていた AudioPlayerAgent クラスと AudioStreamingAgent クラスは、Silverlight 8.1 ではサポートされていません。バックグラウンド オーディオ再生をサポートしたい場合は、引き続き Windows Phone 8 アプリを使用するか、新しいバックグラウンド オーディオ API をサポートする Windows Phone ストア アプリを作成できます。」

それだけです.. :(

于 2015-12-29T17:01:19.713 に答える