Можно ли добавить мультимедийные элементы в приложения браузера WPF? - PullRequest
0 голосов
/ 28 апреля 2019

Я делаю приложение для браузера WPF (которое работает в Internet Explorer) в Visual Studio, и на одной из страниц указанного проекта я хочу добавить TabControl, в котором на каждой вкладке я могу добавить разные типы носителей, я ничего не достиг, и у меня возникла эта проблема с классом MediaElement, я закодировал «интерфейс» для открытия mp3-файлов, но он не работал.

Я уже пробовал в отдельном проекте, и он работал нормально (с добавленными кнопками «пауза» и «вперед»), поэтому я на самом деле думаю, что браузер не сможет открыть эти файлы. Вот мой код:

    public Page8()
    {
        InitializeComponent();
        reproduciendo(false); //I've coded this to only have the open button enabled
    }

    private void reproduciendo(bool v)
    {
        bPlay.IsEnabled = v;
        bStop.IsEnabled = v;
        bBack.IsEnabled = v;
        bForward.IsEnabled = v;
    }

    private void BOpen_Click(object sender, RoutedEventArgs e)
    {
        System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();
        ofd.Filter = "Audio Files (*.mp3)|*.mp3";
        if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            mediaElement.Source = new Uri(ofd.FileName);
            bPlay.IsEnabled = true;
        }
    }

    private void BPlay_Click(object sender, RoutedEventArgs e)
    {
        reproduciendo(true);
        if (bPlay.Content.ToString() == "Reproduce")
        {
            mediaElement.Play();
            bPlay.Content = "Pausa";
        }
        else
        {
            mediaElement.Pause();
            bPlay.Content = "Reproduce";
        }
    }

    private void BStop_Click(object sender, RoutedEventArgs e)
    {
        mediaElement.Stop();
        bPlay.Content = "Reproduce";
        reproduciendo(false);
        bPlay.IsEnabled = true;
    }

    private void BBack_Click(object sender, RoutedEventArgs e)
    {
        mediaElement.Position = mediaElement.Position + TimeSpan.FromSeconds(10);
    }

    private void BForward_Click(object sender, RoutedEventArgs e)
    {
        mediaElement.Position = mediaElement.Position - TimeSpan.FromSeconds(10);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...