如何在WP8中单击按钮时随机播放音频?

Abi*_*ila -1 windows-phone-8

我试过这个代码,但它不起作用.

 public void Play()
    {
        int randomIndex = -1;
        var sound1 = "/Assets/Audio/baby-crying-08.mp3";
        var sound2 = "/Assets/Audio/sound1.wav";
        string [] rawRef = {sound1,sound2};
        MediaElement mp = new MediaElement();
        try
        {
            randomIndex = random.Next(rawRef.Length);
           mp.Source = new Uri(rawRef[randomIndex], UriKind.RelativeOrAbsolute);
           mp.Play();
        }
        catch (Exception e)
        {

        }
    }
Run Code Online (Sandbox Code Playgroud)

如何随机播放音频文件?

Are*_*iak 5

我有这个问题.Play()媒体打开后你需要使用方法.此外,您需要添加MediaElement控件到您的xaml.请记住检查文件路径.寻找这段代码:

MainPage.xaml.cs中:

private Random _random = new Random();

public void Play()
{
    int randomIndex = -1;
    var sound1 = "/Assets/cos.wav";
    var sound2 = "/Assets/xx.mp3";
    string[] rawRef = { sound1, sound2 };
    try
    {
        randomIndex = _random.Next(rawRef.Length);
        MediaElement.Source = new Uri(rawRef[randomIndex], UriKind.RelativeOrAbsolute);
    }
    catch (Exception e)
    {
        Debug.WriteLine(e.Message);
    }
}

private void OnMediaOpened(object sender, RoutedEventArgs e)
{
    MediaElement.Play();
}

private void OnMediaFailed(object sender, ExceptionRoutedEventArgs e)
{
    Debug.WriteLine("Exception: {0}, Sound: {1}", e.ErrorException.Message, MediaElement.Source.ToString());
}
Run Code Online (Sandbox Code Playgroud)

MainPage.xaml中:

<MediaElement x:Name="MediaElement" AutoPlay="False" 
              MediaOpened="OnMediaOpened" 
              MediaFailed="OnMediaFailed" />
Run Code Online (Sandbox Code Playgroud)