Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 25.07.2015
Сообщений: 9

Как воспроизвести .mp3 файл на Visual Basic 6.0?

25.07.2015, 19:16. Показов 7737. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При запуске формы мне нужно воспроизвести .mp3 файл.
С форматом .wav я разобрался, вот код:
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
Плеер. DeviceType = "WaveAudio"
Плеер. FileName = "D:\Music\nice.wav"
Плеер. Command = "Open"
Плеер. Command = "Play"
End Sub
Что нужно в коде изменить чтобы проигрывался .mp3 файл?
например мне нужно проиграть файл beautiful.mp3, который находится в D:\Music\
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2015, 19:16
Ответы с готовыми решениями:

Как воспроизвести mp3 файл
Как воспроизвести mp3 или другой звуковой файл?

Как воспроизвести mp3 файл?
Всем привет! Как воспроизвести mp3 файл?

Как воспроизвести mp3 файл из ресурсов?
У меня в ресурсах проекта есть mp3 и я его хочу воспроизвести. Как же мне это сделать? И чтобы можно было переносить exe-шник из места в...

39
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
26.07.2015, 01:03
Visual Basic
1
2
3
4
5
6
7
8
9
'Воспроизводим файл
Private Sub Command1_Click()
Call mciExecute("play c:\Slow.mp3") ' В скобках после play путь к файлу
End Sub
 
'Стоп
Private Sub Command2_Click()
Call mciExecute("close c:\Slow.mp3") ' В скобках после close путь к файлу
End Sub
Добавлено через 3 минуты
Или при запуске формы:
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
Call mciExecute("play c:\Slow.mp3") ' В скобках после play путь к файлу
End Sub
 
'Стоп
Private Sub Command1_Click()
Call mciExecute("close c:\Slow.mp3") ' В скобках после close путь к файлу
End Sub
0
 Аватар для dzug
695 / 236 / 18
Регистрация: 17.01.2011
Сообщений: 583
Записей в блоге: 1
26.07.2015, 06:03
Можно так:

Visual Basic
1
2
s = "c:\Slow.mp3"
  CreateObject("WScript.Shell").Run s
Это воспроизведение на устройстве по умолчанию..
Можно проигрывать файлы звуковые, видио и т.д.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2015, 15:20
Готовые решения и полезные коды на Visual Basic 6.0
0
0 / 0 / 0
Регистрация: 25.07.2015
Сообщений: 9
28.07.2015, 19:25  [ТС]
vasiliw8, Спасибо большое за ответ!
Но выскакивает ошибка:
Sub или Function не определены

И ошибку указывает на (Call mciExecute)
Как решить эту проблему, подскажите?
И что за оператор такой: Call mciExecute?
Извиняюсь, если задаю глупые вопросы. Я совсем зелёный

Добавлено через 13 минут
dzug, Спасибо большое за ответ!
Но выскакивает вот такое сообщение от VB:
Run-time error '-2147024894 (80070002)':
Method 'Run' of object 'IWshShell3' failed
И указывает желтым цветом на:CreateObject("WScript.Shell").Run s
Что бы это могло значить и как это исправить?

Вот код(возможно я неправильно понял вас):
Visual Basic
1
2
3
4
Private Sub Form_Load()
s = "D:\Oleg\Music\Enigma.mp3"
CreateObject("WScript.Shell").Run s
End Sub
Пояснение* при запуске формы должно воспроизводится Enigma.mp3
0
38 / 38 / 16
Регистрация: 04.03.2014
Сообщений: 249
28.07.2015, 19:54
olegosander,
Извините недоглядел, надо так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
 
'Воспроизводим файл
Private Sub Command1_Click()
Call mciExecute("play c:\Slow.mp3") ' В скобках после play путь к файлу
End Sub
 
'Стоп
Private Sub Command2_Click()
Call mciExecute("close c:\Slow.mp3") ' В скобках после close путь к файлу
End Sub
Добавлено через 13 минут
olegosander,
Об этой функции написано здесь: http://vb.narod.ru/koding/stat/vb/11.htm
0
 Аватар для dzug
695 / 236 / 18
Регистрация: 17.01.2011
Сообщений: 583
Записей в блоге: 1
28.07.2015, 21:12
А при чём тут форма, если вы вызываете проигрыватель по умолчанию - например КМ плеер.
Попробуйте вызвать отдельной процедурой:

Visual Basic
1
2
3
4
Sub mmm()
s = "D:\Oleg\Music\Enigma.mp3"
CreateObject("WScript.Shell").Run s
End Sub
0
0 / 0 / 0
Регистрация: 25.07.2015
Сообщений: 9
28.07.2015, 22:22  [ТС]
vasiliw8, Всё равно не получается воспроизвести .mp3
Сделал всё как вы сказали и пишет при нажатии на command1:
Ошибка при инициализации MCI.
Может нужно какое-то дополнение скачать?
Если есть возможность и время скиньте простенькую программу, где при помощи кнопки воспроизводится .mp3 файл.
Заранее благодарствую!

Добавлено через 9 минут
dzug, Не получается.
Это или я что-то не так делаю или не скачано что-то.
Если есть возможность и время скиньте простенькую программу, где при помощи кнопки воспроизводится .mp3 файл.
И еще вопрос что значит строка: CreateObject("WScript.Shell").Run s ?
Буду очень благодарен!
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
28.07.2015, 22:45
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Пробуйте этот вариант:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Option Explicit
    Private Declare Function mciSendString Lib "winmm.dll" _
        Alias "mciSendStringA" _
        (ByVal lpstrCommand As String, _
        ByVal lpstrReturnString As String, _
        ByVal uReturnLength As Long, _
        ByVal hwndCallback As Long) As Long
 
    Dim strAliaS As String
 
    Private Sub Command1_Click()
    Dim lngReturn As Long
    Dim strFile As String
    Dim strType As String
 
        ' make sure all working files in memory are closed
        mciSendString "close all", 0, 0, 0
 
        ' set the file path
        strFile = "C:\Program Files\Microsoft Visual Studio\VB_prog\ClavecinNocean.mp3" ' Ваша музыка!
       
        ' make sure the path is in double quote if it contains spaces
        If InStr(strFile, " ") Then
            strFile = Chr(34) & strFile & Chr(34)
        End If
       
        ' create unique alias
        strAliaS = Right(strFile, 3) & Minute(Now)
       
        ' set the file type being passed
        strType = "MPEGVideo"
       
        ' Open the file
        lngReturn = mciSendString("Open " & strFile & " ALIAS " & strAliaS _
            & " Type " & strType & " WAIT", "", 0, 0)
           
        ' Play the file
        lngReturn = mciSendString("Play " & strAliaS, "", 0, 0)
                       
    End Sub
 
    Private Sub Command2_Click()
    Dim lngReturn As Long
 
        If strAliaS = "" Then
            Exit Sub
        End If
       
        ' Stop the file playing
        lngReturn = mciSendString("Stop " & strAliaS, "", 0, 0)
        ' Remove it from memory
        lngReturn = mciSendString("Close " & strAliaS, "", 0, 0)
       
        ' clear the alias
         strAliaS = ""
    End Sub
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
29.07.2015, 00:42
Можешь попробовать использовать DirectSound или clsTrickMP3Player
0
Заблокирован
04.08.2015, 17:39
А почему сразу <<clsTrickMP3Player>> .. может пользователю дать ссыль на нормальный плэйер, там все понятно разбереться даже ребёнаг..
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
04.08.2015, 17:45
Цитата Сообщение от qwerty000 Посмотреть сообщение
может пользователю дать ссыль на нормальный плэйер
Ну так дал бы
Ну вообщем-то это полноценный mp3-плеер, с подробно описанным функционалом.
0
Заблокирован
04.08.2015, 17:50
Цитата Сообщение от dzug Посмотреть сообщение
CreateObject("WScript.Shell").Run s
Ну совсем прикольно, надо бы пояснить .Run [Файл mp3, mp4, ..и всё что может открываться по умолчанию]) ,1,1

(,1,1) - это режим отображения программы (свёрнытый, норм, развёрн.) И возможность подождать выполнения программы..

вот примерно как надо было рассказать ..
CreateObject("WScript.Shell").Run "C:\Вася пупкин\Super Mario.exe", 1,1 - - - както так..
0
04.08.2015, 17:54

Не по теме:

Ах, Жора :rofl:

0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.04.2023, 11:34
Цитата Сообщение от The trick Посмотреть сообщение
попробовать использовать DirectSound или clsTrickMP3Player
Только что проверил оба варианта, в условиях нагрузки программы с циклом. То есть например стоит задача воспроизводить музыку в то время пока выполняет очень сильную нагрузку манипуляции. Чтобы музыка при этом не прерывалась.
Короче ставлю кнопку на форму и пишу Do Loop и всё для имитации серьёзной нагрузки программы. И проверяю будет заикаться звук или нет.

В clsTrickMP3Player.cls при нажатии на кнопку бесконечного цикла, останавливается воспроизведение вообще. Я правда из буфера, а не из файла пробовал. Но воспроизведение звука останавливается СРАЗУ ЖЕ при нажатии на кнопку с кодом Do Loop.

В DirectSound такого недостатка нет. Звук не остановился при зависании программы.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
09.04.2023, 11:47
HackerVlad, этому классу требуется прокачка сообщений, к примеру через DoEvents. Этот класс уже неактуален, т.к. есть способ проиграть через PlaySound. https://www.cyberforum.ru/post15748658.html
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.04.2023, 11:53
Цитата Сообщение от The trick Посмотреть сообщение
через sndPlaySound
Ты про MP3? Эта же функция только для WAV.
Для MP3 я сейчас попробовал mciSendString всё работает прекрасно воспроизводится без зависания или остановки музыки при нажатии на кнопку Do Loop

Добавлено через 2 минуты
Цитата Сообщение от The trick Посмотреть сообщение
Этот класс уже неактуален
Я только им всегда и пользовался. Так как только он позволял играть звук из буфера, я зашивал звуки в ресурсы EXE, поэтому.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
09.04.2023, 11:53
HackerVlad, PlaySound играет любой wav, в том числе и сжатый. wav - это RIFF файл, который может содержать и данные сжатые с помощью mpeg layer 3 кодека. Если тебе нужно воспроизведение из файла, а не из буфера в памяти, то через mci можно напрямую mp3 проиграть.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.04.2023, 11:56
Моя простая задача воспроизвести MP3 из буфера из ресурса короче и чтобы звук не останавливался если программа начнёт зависать.

Добавлено через 2 минуты
Цитата Сообщение от The trick Посмотреть сообщение
PlaySound
и как же ты при помощи функции sndPlaySound будешь воспроизовдить MP3 мне интересно)
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
09.04.2023, 11:58
Просто оберни свой mp3 в Riff контейнер (см пример что выше привел) и передавай его функции PlaySound. Я не за компом, но если никто не сделает пример, вечером скину.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2023, 11:58
Помогаю со студенческими работами здесь

Как воспроизвести MP3 файл по ссылке?
Здравствуйте! Имеется ссылка на mp3 файл &quot;http://sait.ru/file.mp3&quot;. Нужно сделать, что бы по нажатию на кнопку этот файл...

Как воспроизвести стандартными средствами mp3 файл
Как воспроизвести стандартными средствами mp3 файл в python. Без разных сторонних модулей, просто звук mp3.

Как воспроизвести .mp3 файл в консольном приложении?
Прошу подсказать какую функцию необходимо использовать для проигрывания музыки, желательно чтобы прилагалась библиотека которую нужно...

Как воспроизвести mp3 файл с winmm.dll
Уважаемые посетители уважаемого мною ресурса cyberforum.ru не затруднит ли Вас моя просьба оказать мне помощь? Мне необходимо с помощью...

Как воспроизвести звуковой файл (wav или mp3)
Знаю про PLAY И SOUND,но это пищание со спикера пилит по мозгам , хотелось бы вывод собственно на колонки с файлов.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru