1

私はプレイしようとしています。wav ファイルをトースト通知に変換します。じぶんの 。wav ファイルはアプリケーションのローカル フォルダーにありますが、残念ながら System.ArgumentException "Requested value 'ms-appdata:///local/archivo.wav' was not found." という例外が発生します。誰でも私を助けることができますか?ファイルを保存するコードは次のとおりです

 private async  void  guardarArchivo()
  {
        speak = new SpeechSynthesizer(idCliente, ClientSecret);
        speak.AudioFormat = SpeakStreamFormat.MP3;
        speak.AudioQuality = SpeakStreamQuality.MaxQuality;
        //  audio stream
        Nstream = await speak.GetSpeakStreamAsync(txtnota.Text, "es");

        inputStream = Nstream.GetInputStreamAt(0);
        DataReader datareader = new DataReader(inputStream);
        await datareader.LoadAsync((uint)Nstream.Size);
        byte[] buffer = new byte[(int)Nstream.Size];
        datareader.ReadBytes(buffer);
        var folder = Windows.Storage.ApplicationData.Current.LocalFolder;//Obtenemos el folder local donde se encuentra alojada la app
        var option = Windows.Storage.CreationCollisionOption.OpenIfExists;//Si no existe el archivo lo crea , si existe  no pasa nada , solo sobrescribre
        //Creamos el archivo
        var archivo = await folder.CreateFileAsync("archivo.wav", option);
        await FileIO.WriteBytesAsync(archivo, buffer);

        }

トースト通知を作成しようとするコードは次のとおりです

 private  void btncrearclick(object sender, RoutedEventArgs e)
    {
        var toastContent = NotificationsExtensions.ToastContent.ToastContentFactory.CreateToastText01();
        toastContent.TextBodyWrap.Text =txtnota.Text;
        toastContent.Duration = ToastDuration.Long;
        //here is the error
        toastContent.Audio.Content = (ToastAudioContent)Enum.Parse(typeof(ToastAudioContent),"ms-appdata:///local/archivo.wav");
        var toast = toastContent.CreateNotification();
        ScheduledToastNotification toastnotificacion = new ScheduledToastNotification(toastContent.GetXml(), new DateTimeOffset(DateTime.Now.AddSeconds(5)));
        var toastNotifier = ToastNotificationManager.CreateToastNotifier();
        toastNotifier.AddToSchedule(toastnotificacion);         

    }
4

1 に答える 1