Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 10.03.2016
Сообщений: 64

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

14.11.2016, 17:12. Показов 4375. Ответов 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 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru