0

Windows 8 アプリの場合、C#/Xaml で、Launcher.LaunchFileAsync を使用してコンピューター上のメディア プレーヤーでビデオを起動したいと考えています。

URLからのビデオファイルがあり、このコードを使用しています:

     var uri = new Uri(myUrl,UriKind.RelativeOrAbsolute);

            var file = await StorageFile.CreateStreamedFileFromUriAsync("aaa", uri, RandomAccessStreamReference.CreateFromUri(uri));

            if (file != null)
            {
                // Launch the retrieved file
                var success = await Windows.System.Launcher.LaunchFileAsync(file);

                if (success)
                {
                    // File launched
                }
                else
                {
                    // File launch failed
                }
            }
            else
            {
                // Could not find file
            }

これは実際には、LaunchFileAsync のドキュメントのサンプル コードです。私には問題ないように思えましたが、成功は常に偽物です。理由はわかりますか?URL のビデオに LaunchFileAsync を使用することは可能ですか? それを行う別の方法はありますか?

4

2 に答える 2

1

同じ問題が発生しました。特定のファイルパスの場所から.mp3ファイルを再生しようとしていました。

StorageFile.CreateStreamedFileFromUriAsyncでファイルを開くことができませんでした。無効な引数の例外または不正アクセスエラーが発生していました。

行を変更して置き換えてみてください:

            String myUrl = @"ms-appx:///sources/sounds/ffd19.mp3";          
            var file = await StorageFile.GetFileFromApplicationUriAsync(uri);

唯一の欠点は、ファイルをプロジェクトのリソースとして登録する必要があることです。

私の場合、.mp3は、ソリューションエクスプローラーの、アプリケーションファイルと同じフォルダーのsources /sound/フォルダーにありました。

于 2012-10-14T22:26:51.733 に答える
0

あなたのコードが何を言っているのか混乱しています。

var file = await StorageFile.CreateStreamedFileFromUriAsync("aaa", uri, RandomAccessStreamReference.CreateFromUri(uri));

「ファイル」は関数の戻り値を取得しますが、関数が返すものは、Window.Storage.StorageFile を参照できる StorageFile のオブジェクトです。

これが問題かもしれないと思いますが、それを修正する方法がわかりません。

さらに、関数「LaunchFileAsync()」には、起動できるファイルの種類に制限があるため、この問題も発生する可能性があります。

答えのないアドバイスで申し訳ありません。それで全部です。

于 2012-09-26T03:50:42.360 に答える