Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/48: Рейтинг темы: голосов - 48, средняя оценка - 4.77
3 / 3 / 1
Регистрация: 01.11.2008
Сообщений: 82
1

Проигрывание звуковых файлов

09.01.2009, 13:33. Просмотров 9579. Ответов 15
Метки нет (Все метки)

Кто-нить знает как на форму "прилепить" звуки, причём чтобы ими ещё и управлять можно было.
а ешё лучше видео в форму вставить.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2009, 13:33
Ответы с готовыми решениями:

Синхронное воспроизведение двух звуковых файлов
Создаём новый проект. Добавляем библиотеку звуковую wmp Для этого заходим в: Свойства...

Проигрывание файлов формата *.XM
Доброго времени суток господа. Возникла необходимость проиграть музыку как в кейгенах формата *.xm...

Проигрывание музыкальных файлов при определенных событиях
Здравствуйте!, Подскажите, пожалуйста, как мне вставить музыкальный файл и чтобы он проигрывался...

Проигрывание небольших звуковых файлов
Гуру, посоветуйте... Надо: хранить некий "кэш" аудиофайлов в памяти "предварительно...

15
10018 / 2606 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
17.03.2009, 10:37 2
Работа со звуком в VB

В этой статье я нашёл очень много полезного и интересного!!! Надеюсь и остальным читателям она покажется не менее интересной! А теперь статья (всё, что ниже, написано автором):

Итак, код модуля для проигрывания звука:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
'------------------------------------------------------------
' Работа со звуком
'------------------------------------------------------------
 
Option Explicit
 
' Функции и константы для проигрывания звуков. Декларации.
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Declare Function sndStopSound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszNull As Long, ByVal uFlags As Long) As Long
 
' Звук воспроизводится синхронно, и функция не возвращает
' управления до окончания его проигрывания.
Global Const SND_SYNC = &H0
 
' Звук воспроизводится асинхронно, функция возвращает управление
' сразу после начала воспроизведения.
Global Const SND_ASYNC = &H1
 
' Для прекращения воспроизведения необходимо вызвать sndPlaySound()
' c NULL  в качестве аргумента-имени файла
 
' Если указанный файл отсутствует, функция неделает ничего.
Global Const SND_NODEFAULT = &H2
 
' Параметр SoundName указывает на звук, образ которого уже
' находится в оперативной памяти.
Global Const SND_MEMORY = &H4
 
' Воспроизведение звука повторяется до тех пор, пока не будет
' вызвана функция sndPlaySound() c NULL  в качестве
Global Const SND_LOOP = &H8
 
' параметра IpszSoundName. Для работы этого флага необходимо
' установить также флаг SND_ASYNC.
 
' Если звук уже воспроизводится, функция не прерывает его
' воспроизведение, а немедленно возвращает FALSE.
Global Const SND_NOSTOP = &H10
 
Function NoiseGet(ByVal FileName) As String
'------------------------------------------------------------
' Загрузка звука в строковую переменную.
'------------------------------------------------------------
Dim buffer As String
Dim f As Integer
Dim SoundBuffer As String
 
   On Error GoTo NoiseGet_Error
 
    buffer = Space$(1024)
    SoundBuffer = ""
    f = FreeFile
    Open FileName For Binary As f
    Do While Not EOF(f)
       Get #f, , buffer    ' Load in 1K chunks
        SoundBuffer = SoundBuffer & buffer
   Loop
   Close f
    NoiseGet = Trim$(SoundBuffer)
Exit Function
 
NoiseGet_Error:
    SoundBuffer = ""
   Exit Function
End Function
 
Sub NoisePlay(SoundBuffer As String, ByVal PlayMode As Integer)
'------------------------------------------------------------
' Проигрывание звука загруженного в память с помощью функции
' NoiseGet().
'------------------------------------------------------------
Dim retcode As Integer
 
   If SoundBuffer = "" Then Exit Sub
 
    ' Stop any sound that may currently be playing.
    retcode = sndStopSound(0, SND_ASYNC) ' код для прекращения звука
 
   ' PlayMode should be SND_SYNC or SND_ASYNC
    ' проигрывание звука
    retcode = sndPlaySound(ByVal SoundBuffer, PlayMode Or SND_MEMORY)
End Sub
 
'------------------------------------------------------------
' Примеры применения
'------------------------------------------------------------
' ' Определение и загрузка звука
'  wavFinal = NoiseGet(App.Path & "" & "finalrealty.wav")
'
' код для прекращения звука (Мало ли, играл раньше)
'  NoisePlay 0, SND_ASYNC
' Проигрывание звука
'  NoisePlay wavFinal, SND_ASYNC
Хочу обратить ваше внимание на константы.
Этот модуль я нашел в исходных текстах какой-то программы, взятой на одной из страничек в Интернете, немножко его подкорректировал и написал все комментарии.
Взято AS IS с одной из страничек в Интернете
автор данной статьи якобы С. Миллер

Добавлено через 21 минуту 54 секунды
это ссылочка от Билли на работу с Видео файлами
2 WooDooMan, если я не прав, можете удалить ссылку
1
3 / 3 / 1
Регистрация: 01.11.2008
Сообщений: 82
12.04.2009, 13:09  [ТС] 3
У меня проблема: не работает. (
Мож это не для моего Visual basic.Net. У меня 2008 студия.
Например на это
vb.net
1
Open FileName For Binary As f
он говорит, что это бред
Но оно то иверно, бред, в vb нет "Open filename", попробывал поставить OpenFileDialog1 но а дальше что делать не понямаю.Поэтому прошу помощи. помогите переписать под VB.NET 2008
и исчо, с "get #f" проблема. на "get" жалуется
0
1 / 1 / 0
Регистрация: 17.09.2010
Сообщений: 13
18.09.2010, 01:48 4
Tools  Customize Toolbox  COM Components  вы находите Windows Media Player в длинном списке и ставите против него галочку  OK. Он появился в Toolbox. Теперь его можно размещать на форме обычным образом.

Самое простое : на форму кидаешь 2 кнопки, в ейной коде пишеш :

vb.net
1
2
3
4
5
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        My.Computer.Audio.Play("C:\WINDOWS\Media\Windows Vista Default.wav")
    End Sub

Вторая кнопка :

vb.net
1
2
3
4
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        AxWindowsMediaPlayer1.URL = "D:\DOKI\Моя музыка\Tehno\Unheilig - Geboren Um Zu Leben (Bootleg Mix).mp4"
    End Sub
End Class
1
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
01.07.2011, 20:01 5
Tools  Customize Toolbox  COM Components  вы находите Windows Media Player в длинном списке и ставите против него галочку  OK. Он появился в Toolbox. Теперь его можно размещать на форме обычным образом.


Вот этот момент по русски можите описать? А то этот компонент найти не могу (вроде правильно перевел)
0
1668 / 1159 / 224
Регистрация: 23.12.2010
Сообщений: 1,500
01.07.2011, 20:46 6
БурундукЪ, ну это ж дотнет, а не vb6
Зачем сюда API крутить...
Как узнать что воспроизведение завершено?
0
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
02.07.2011, 07:19 7
А такой вопрос... Можно ли музыку вкрутит в сам exe фал? Т.е при компиляции проэкта в ехе файл добавлялся звуковой файл
0
1668 / 1159 / 224
Регистрация: 23.12.2010
Сообщений: 1,500
02.07.2011, 10:52 8
можно, в ресурсы добавить wav файл и проигрывать его с помошью System.Media.SoundPlayer
vb.net
1
2
3
Dim sp As New System.Media.SoundPlayer
sp.Stream = My.Resources.имя_ресурса
sp.Play()
0
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
02.07.2011, 13:17 9
Что то так и не понял как ресурс добавлять
0
1668 / 1159 / 224
Регистрация: 23.12.2010
Сообщений: 1,500
02.07.2011, 13:39 10
открой вкладку "Свойства" проекта. Далее там перейди во вкладку "Ресурсы". Самое простое - мышаком перетащить файл из папки в поле на этой вкладке
1
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
02.07.2011, 13:52 11
0_о оказывается все так просто ))... Спасибо

Добавлено через 3 минуты
И еще на последок вопрос... Как реализовать проигрование mp3? А то wav слишком много весит (
0
43 / 43 / 4
Регистрация: 30.04.2011
Сообщений: 276
02.07.2011, 14:26 12
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Treals
Цитата Сообщение от Памирыч
Project -> Add Reference -> Browse -> C:\Windows\System32\wmp.dll
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
Imports WMPLib
Public Class Form1
    Dim wmp As New WMPLib.WindowsMediaPlayerClass()
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        wmp.volume = TextBox1.Text
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        wmp.currentMedia = wmp.newMedia("H:\Sound\plazma_-_round_the_corner.mp3")
        wmp.controls.play()
        wmp.currentPosition = 50
    End Sub
End Class
1
1668 / 1159 / 224
Регистрация: 23.12.2010
Сообщений: 1,500
02.07.2011, 18:42 13
Treals, см. Проигрывание звуковых файлов
0
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 4
10.04.2015, 10:36 14
Привет всем. Как при помощи этого класса Dim wmp As New WMPLib.WindowsMediaPlayerClass()
получить длину (время) проигрываемого файла?
0
-30 / 1 / 2
Регистрация: 25.01.2015
Сообщений: 55
12.04.2015, 11:48 15
1).
Цитата Сообщение от Юпатов Дмитрий Посмотреть сообщение
можно, в ресурсы добавить wav файл и проигрывать его с помошью System.Media.SoundPlayer
Я согласен и ешё по проще есть вариант!
2). SpiritOfWood, Вот ты можешь добавить элемент Windows Media Player!

Вот пример: + Source code
0
Вложения
Тип файла: zip player.zip (316.8 Кб, 51 просмотров)
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 4
12.04.2015, 14:54 16
Если точнее как обратиться к коллекции мета тегов проигрываемого файла и получить её свойства. Например такие как имя трека, время трека и другие.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2015, 14:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Воспроизведение звуковых файлов
помогите, не знаю, как добавить музыку, чтобы она проигрывалась при запуске программы

Сравнение звуковых файлов
Подскажите пожалуйста как можно сравнивать два или более звуковых файлов, желательно в wav формате,...

Хранение звуковых файлов
Скажите пожалуйста, можно ли хранить в БД Access звуковые файлы (wav) и подключать их по id, в...

Обработка звуковых файлов
Товарищи, с помощью каких библиотек, заголовочных файлов, структур, классов и т.д. можно обработать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.