вшитие звука в прогу

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BOO
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 06.09.2003 (Сб) 14:23
Откуда: Саратовская обл. г.Энгельс

вшитие звука в прогу

Сообщение BOO » 02.11.2003 (Вс) 2:18

1:Как интегрировать в программу звук и как его потом проигрывать? :oops:
2:Можно ли в текстовый файл запихнуть картинку??? :D
Слушайте рок!

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Re: вшитие звука в прогу

Сообщение goro » 02.11.2003 (Вс) 2:26

BOO писал(а):1:Как интегрировать в программу звук и как его потом проигрывать? :oops:
2:Можно ли в текстовый файл запихнуть картинку??? :D

1) В файл ресурсов в ВБ пихай, потом извлекай и проигрывай
2) Я знаю как в картинку текстовик записать :)
ПРЕВЕД

BOO
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 06.09.2003 (Сб) 14:23
Откуда: Саратовская обл. г.Энгельс

поточнее

Сообщение BOO » 02.11.2003 (Вс) 2:34

Не я конечно все понял :twisted:
поточней нельзя как это возьми и проигрывай???
кроме того если ты занешь как запихнуть картинку в текстовый файл почему не написал????
Слушайте рок!

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: поточнее

Сообщение FaKk2 » 02.11.2003 (Вс) 15:20

BOO писал(а):Не я конечно все понял :twisted:
поточней нельзя как это возьми и проигрывай???
кроме того если ты занешь как запихнуть картинку в текстовый файл почему не написал????


Насчет первого не уверен, а вот насчет второго, подумай ВНИМАТЕЛЬНО чего просишь :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 02.11.2003 (Вс) 16:43

RTFM! :twisted:
На фига злишься? Тебе примеров на сайтах мало?
И почитай, что я тебе сказал насчет картинок!
ПРЕВЕД

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

goro,по братски(если не знаешь сам,как это все сделать,то хо

Сообщение badDRAGON » 07.11.2003 (Пт) 12:22

goro,по братски(если не знаешь сам,как это все сделать,то хоть дай урл с примером...

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 08.11.2003 (Сб) 21:56

А если так:
Код: Выделить всё
Код формы:
MMC.Wait = True
MMC.Shareable = False
mmc.devicetype="WaveAudio"
nextmusic
А вот этот - в событие MMC_Done:
Код:

If MMC.Position = MMC.TrackLength Then 'проверка, находимся ли мы в конце трека
MMC.Command = "close"
nextmusic


Теперь относительно nextmusic. Это - отдельная процедура, которая не относится ни к какому контролу. Её надо ставить в раздел (General):
Код:

Sub nextmusic()
Static f
f = f + 1'счётчик музыки
If f = 6 Then f = 1
MMC.Command = "close"
compname = "C:\Music\" & f & "x.wav" ' Здесь указал путь до музыки !
MMC.Filename = compname
MMC.Command = "open"
MMC.Command = "play"
End Sub

Вот и все!
Max!

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 08.11.2003 (Сб) 22:17

1) Max! коды, содранные из других топиков, к тому же не то делающие, не подходят - надо проиграть файл не из C:\Music\, а из exe файла программы.
2) Текстовый файл должен быть удобочитаем? В смысле, допустимо присутствие в нём строк/последовательностей вроде "@34jgrwen@RT%Ib"?

Если допустимо, то в чём же дело?
Пишем в серединку файла строку "HEREISSTARTINGHEADEROFMYCOOLIMAGE", потом побайтово данные картинки и "HEREISTHEENDOFMYCOOLIMAGE", программа читает файл, ищет последовательность 1, возвещающую о начале заголовка картинки, потом читает данные до последовательности 2.
Сохраняет побайтово полученную информацию во временный файл, читает из него по LoadPicture в PictureBox или иной контейнер...

P.S. Фуф, запарился писать :)

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 09.11.2003 (Вс) 0:49

Для тех кто не помнит, не знает и для того, кому лень искать:
Функция воспроизведения звука из прикрепленного к проге resурса
Код: Выделить всё
Public Const SND_SYNC = &H0                 '  play synchronously (default)
Public Const SND_MEMORY = &H4             '  lpszSoundName points to a Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal SoundData As Any, ByVal uFlags As Long) As Long
Public Sub ResPlaySound(ResourceId As Long)
    Dim sndBuff As String
    sndBuff = StrConv(LoadResData(ResourceId, "WAVE"), vbUnicode)
    Call sndPlaySound(sndBuff, SND_SYNC Or SND_MEMORY)
End Sub

Здесь надо только указать ID, под которым звук записан в res

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 09.11.2003 (Вс) 1:05

madMax ты такой камень с меня свалил! :D Честное слово! Спасибо!
:roll: :wink: :P

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 09.11.2003 (Вс) 1:30

ребят,а можно дословно без лишних слов ,всетаки,ответить на основную тему ?(как вшить в прогу звуковой файл?)

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 09.11.2003 (Вс) 1:41

Конечно, можно:

1) Подключаешь Resource Editor (Add-Ins|Add-In Manager|VB 6 Resource Editor)
2) Открываешь его (Tools|Resource Editor)
3) Жмёшь Add Custom Resource, выбираешь нужный wav файл
4) Выбираешь новый появившийся элемент (101, например)
5) Пишешь в коде формы:
Private Const SND_SYNC = &H0
Private Const SND_MEMORY = &H4
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal SoundData As Any, ByVal uFlags As Long) As Long
Public Sub ResPlaySound(ResourceId As Long)
Dim sndBuff As String
sndBuff = StrConv(LoadResData(ResourceId, "CUSTOM"), vbUnicode)
Call sndPlaySound(sndBuff, SND_SYNC Or SND_MEMORY)
End Sub

6) Вызываешь ResPlaySound с параметром - ID ресурса (101 в данном случае)
7) Наслаждаешься результатом :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 10

    TopList