| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Воспроизведение музыкальных файлов в VB |
| Автор: Mick Winder 15.11.2004, 16:42 |
| Доброго вечера, народ!!! В данном подфоруме я впервые, что не удивительно, т.к. только сегодня решил начать изучать Visual Basic... (А так я дельфист...) Потому начну задавать детсадовские вопросы, так что помогите разобраться в номом для меня языке программирования... Пожелайте мне удачи! Мне нужно для с помощью какой либо клавиши заставить проиграть музыкальный файл формата mp3... Написал такой код: Private Sub Form_Load() Player1.DeviceType = "WaveAudio" End Sub Private Sub Command1_Click() Player1.FileName = "F:\nz.mp3" Player1.Command = "Open" Player1.Command = "Sound" Player1.Command = "Close" End Sub Почему-то не проигрывает... Почему? |
| Автор: boevik 15.11.2004, 17:01 |
| А жто за компонента Player? |
| Автор: Mick Winder 16.11.2004, 09:35 |
| Это не компонента... Это имя компоненты MMControl, взятая из Microsoft Multimedia Control 6.0 |
| Автор: boevik 16.11.2004, 10:41 |
| Mick Winder, а он умеет играть mp3? wav файлы проигрывает без проблем. |
| Автор: Mick Winder 16.11.2004, 12:17 |
| Теоретически должен проигрывать и wav, и mp3... но чего-то не то... не играет... |
| Автор: Сувор 16.11.2004, 12:25 |
| Забудь про MMControl и подключи Windows Media Player -все играет и проблем меньше. |
| Автор: amt 16.11.2004, 22:05 | ||
| Mick Winder, я согласен с Сувор Используй MediaPlayer из компоненты Windows Media Player Вот пример кода который у меня работает
Если нужно управлять воспроизведение файла сделай MediaPlayer1.Visible = True Может не стоит заморачиваться? Удачи! |
| Автор: Mick Winder 17.11.2004, 14:55 |
| Спасибо всем!!! |
| Автор: Антикатод 19.11.2004, 08:56 |
| А можно так (или как нибудь еще) проигрывать одновременно несколько звуков (знаю, что теоретически нет, но практически)? Оочень надо. Зачем? Для того чтобы сделать "драм-машину" (если она так называется). Короче, по клавиша жмем; и получаются ударные партии. Знаю, что очень в втему. |
| Автор: amt 19.11.2004, 15:45 |
| Можно в форме разместить несколько Windows MediaPlayer и каждый будет играть свой mp3 файл. Я пробовал с двумя. |
| Автор: amt 20.11.2004, 18:17 | ||||||
Антикатод
Если тебе нужно проигрывать несколько mp3 файлов одновременно могу предложить следующее: Создай проект с формой. Размести в ней Windows Media Player. Копируй его в буфер. Вставь его из буфера в пустое место формы. Программа спросит у тебя хочешь ли ты создать контейнер. Соглашайся. Проигрыватели будут иметь имена MediaPlayer1(0) MediaPlayer1(1) С индексом 1 можешь смело удалять. Дальше добавь в форму несколько кнопок (у меня в примере четыре) и запиши следующий код. У меня класно работает.
Если я че не так понял в твоем вопросе – пиши (может еще че придумаю). При желании можно написать код чтобы запускать/выключать проигрыватели нажатием клавиш на клаве. PS Если нужно много Player-ов то лучше создать контейнер для кнопок (также как и для проигрывателей) Тогда код сократиться. При этом стоит объявить как одномерный текстовый массив кокую-нибудь переменную (fileName) и записать в этот массив все пути к mp3. Тогда код будет выглядеть примерно так:
(Этот код не проверял, но должен работать если я в синтаксисе не наделал ошибок) Дальше можно записать код, вызывающий событие нажатия той или иной кнопки Command при нажатии соответствующей клавиши на клаве. Кстати, что бы не перегружать память, может имеет смысл загружать Player-ы не при Form_Load(), а при Command_Click(). Тогда нужно выгружать Player-ы после окончания проигрывания файлов. Короче: можно много чего придумать. Удачи! |