0

私はアプリを作成しています..小さな問題に直面しています。私はこれを手に入れたい... 私はラジオボタンを持っています。このラジオボタンがクリックされるたびに、小さな音楽をループで再生したいと思います。Visual Studio を使用しています。式は使用できません。私は次のコードを使用しています..

public partial class Page3 : PhoneApplicationPage
    {

        private SoundEffect s1;


        public Page3()
        {
            InitializeComponent();
            GameTimer gameTimer = new GameTimer();
            gameTimer.UpdateInterval = TimeSpan.FromMilliseconds(10000);

            // Call FrameworkDispatcher.Update to update the XNA Framework internals.
            gameTimer.Update += delegate { try { FrameworkDispatcher.Update(); } catch { } };

            // Start the GameTimer running.
            gameTimer.Start();

            // Prime the pump or we'll get an exception.
            FrameworkDispatcher.Update();

            LoadSound("Views/1.wav", out s1);


        }

        private void LoadSound(String SoundFilePath, out SoundEffect Sound)
        {
            // For error checking, assume we'll fail to load the file.
            Sound = null;

            try
            {
                // Holds informations about a file stream.
                StreamResourceInfo SoundFileInfo = App.GetResourceStream(new Uri(SoundFilePath, UriKind.Relative));

                // Create the SoundEffect from the Stream
                Sound = SoundEffect.FromStream(SoundFileInfo.Stream);
            }
            catch (NullReferenceException)
            {
                // Display an error message
                MessageBox.Show("Couldn't load sound " + SoundFilePath);
            }
        }


        private void radioButton1_Checked(object sender, RoutedEventArgs e)
        {

                try
                {
                    s1.Play();
                }
                catch (NullReferenceException)
                {
                    MessageBox.Show("Can't play, s1 is null.");
                }
            }
4

1 に答える 1

1

これは、サウンドを再生するために使用するコードです。これは機能します。

private void PlaySound()
{
    Stream stream = TitleContainer.OpenStream("Media/Sounds/SomeFile.wav");
    SoundEffect effect = SoundEffect.FromStream(stream);
    FrameworkDispatcher.Update();
    effect.Play();
}

また、サウンドファイルがコンテンツとしてマークされていることを確認してください。

于 2012-05-09T15:50:53.963 に答える