2 / 2 / 0
Регистрация: 10.03.2016
Сообщений: 64

Как подключить System::Windows::Media::MediaPlayer()?

14.11.2016, 17:12. Показов 4377. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, помогите пожалуйста!
Как подключить пространство имен System::Windows::Media и использовать MediaPlayer() в качестве воспроизведения звука в WinForms на C++.
Мне нужно чтобы одновременно воспроизводилось два звука, а SoundPlayer не справляется с этим. Потоки перекрывают друг друга. А подключить MediaPlayer() не получается.
Скажите пожалуйста, как это сделать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2016, 17:12
Ответы с готовыми решениями:

Как подключить пространство имен Windows::Media::Capture к проекту?
Хочу попробовать использовать в проекте WinForms API-функцию CamCaptureUI. Возможно ли это ? Если да,то как подключить namespace ...

Как подключить музыку к Windows Forms c++ ?
Вот пишу тетрис. Хочу, что бы при запуске новой игры паралельно играла музыка. В гугле, пока что, ничего полезного не нашел. SOS!

Как к Visual Studio 2010 подключить System.IO
Здравствуйте! Подскажите пожалуйста как к Visual Studio 2010 подключить пространство имен System.IO, System.IO.Compression, #include...

8
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
14.11.2016, 18:06
Цитата Сообщение от v1a_sacra Посмотреть сообщение
подключить MediaPlayer() не получается
Как вы это делали?
0
2 / 2 / 0
Регистрация: 10.03.2016
Сообщений: 64
14.11.2016, 18:49  [ТС]
Добавляю пространство имен
C++
1
using namespase System::Windows::Media;
Он ругается на него

Потом создаю переменную
C++
1
MediaPlayer^ sound = new MediaPlayer();
Он просто не понимается, что такое MediaPlayer
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.11.2016, 08:19
Лучший ответ Сообщение было отмечено v1a_sacra как решение

Решение

Вам нужно также добавить в проект ссылку на библиотеку PresentationCore.dll в которой это все.
Цитата Сообщение от v1a_sacra Посмотреть сообщение
Потом создаю переменную
Все управляемые дотнетовские ссылочные объекты нужно создавать через gcnew.
0
2 / 2 / 0
Регистрация: 10.03.2016
Сообщений: 64
15.11.2016, 12:32  [ТС]
Спасибо!
Теперь возникла новая проблема, почему то сам файл не воспроизводится, он не реагирует на ссылку. И ошибок тоже нет.
Подскажите пожалуйста, что я делаю не так.
C++
1
2
3
4
explosion = gcnew MediaPlayer();
Uri^ uri = gcnew Uri("img\\main.wav", System::UriKind::Relative);
explosion->Open(uri);
explosion->Play();
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.11.2016, 13:41
Попробуйте указать полный путь и использовать только конструктор с одним аргументом.
0
2 / 2 / 0
Регистрация: 10.03.2016
Сообщений: 64
15.11.2016, 14:27  [ТС]
Видимо он распознает только ссылку с полным адресом.
Но если я, например, захочу скинуть .exe кому-то другому. Он будет при запуске постоянно считывать полную ссылку, которую я указал. А на его компьютере, естественно, этого файла по такой ссылке не будет.
Мне нужно указывать ссылку, относительно данного нахождения .exe, вроде той, которую я написал выше.
C Uri так не получится?
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
15.11.2016, 14:57
Дело не в этом. Все относительные пути на момент старта приложения являются относительными по отношению к рабочему каталогу пуска приложения. Если вы его запустили через студию, то рабочим каталогом будет тот, в котором расположен проект. А если по двойному клику из проводника -- то каталог с исполняемым файлом. Поэтому вам нужно грамотно все организовать.
1
2 / 2 / 0
Регистрация: 10.03.2016
Сообщений: 64
15.11.2016, 16:59  [ТС]
Спасибо вам, что помогли. Теперь все работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2016, 16:59
Помогаю со студенческими работами здесь

Как заменить некомпилируемый "System::Windows::Forms::PictureBox Array[][]"
(где-то внутри "namespace Spacebox") // Пользовательский блок: начало class Planet{ // Ещё не разработан, НО ...

Подключение и работа с System, System.IO, System.Collections.Generic;
Здравствуйте, не подскажите почему не работают using namespace System, using namespace System.Collections.Generic и др. Что нужно сделать...

Как указать не полный адрес Uri для воспроизведения файла MediaPlayer() C++
Указываю ссылку для открытия файла MediaPlayer Uri^ uri = gcnew Uri("img\\main.wav", System::UriKind::Relative); Ошибок нет, но он не...

combobox system.windows.forms
Как добавить в combobox пункты таким способом: char text; цикл... { . . . . . . ...

класс System::Windows::Forms::WebBrowser
Здравствуйте! Пытаюсь написать небольшой браузер. Возникает множество вопросов: 1) Как вместо открытия станицы в новой вкладке заменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru