1

Windows Phone アプリで、起動時に Windows と同様の短い .wav オーディオを再生したいと考えています。最初に、コントロールの 1 つがロードされたときにイベント ハンドラーを使用しようとしました (これは約 60% の時間で機能しました。これは非常に興味深いことです。誰かがそれを解決できるかもしれません。順序に関係していると思います)。そのため、実行するたびに異なります)。私はビジュアル スタジオ 2012 Ultimate を使用しています。これは .wav ファイルの xaml コードです。

<MediaElement x:Name="MySound"
                          Source="/quantum_drive.wav"
                          Volume="1"
                          AutoPlay="false"
                          />

また、メイン ページの読み込み時にこのメソッドを呼び出そうとしました。

private void MainPage1_Loaded(object sender, RoutedEventArgs e)
    {
        MySound.Play();
    }

何らかの理由で、これは約 60% の確率でしか機能しません (一見ランダムに)。これは、電話アプリでやりたいことがよくあるようですが、stackoverflowまたはGoogle検索でこれに関する情報を見つけることができません.

4

1 に答える 1

0

あなたがやろうとしていることをするためにメディア要素を使わないでください。効果音に関してはバギーです。ユーザーインタラクションメディア向けです。

代わりに、次のことを行ってください (ここで記事全文を参照できます) 。

using Microsoft.Xna.Framework.Audio;

using Microsoft.Xna.Framework.Media;

using Microsoft.Xna.Framework;

static Stream stream1 = TitleContainer.OpenStream("soundeffect.wav");

static SoundEffect sfx = SoundEffect.FromStream(stream1);

static SoundEffectInstance soundEffect = sfx.CreateInstance();

ロードしたメソッドから再生サウンドを呼び出すだけです

public void playSound(){

    FrameworkDispatcher.Update();

    soundEffect.Play();

}
于 2013-11-04T15:55:26.947 に答える