|
Переводы Переводы туториалов и хелпов. |
03.09.2005, 18:25
|
#1
|
|
Полный перевод раздела Command Reference -> 2D-Category -> Sound/Music из стандартного хелпа Blitz.
|
|
|
03.09.2005, 18:26
|
#2
|
|
LoadSound (файл$)
Параметры
файл$ = имя звукового файла. Поддерживаемые форматы: raw/wav/mp3/ogg
Описание
Эта команда загружает звук в память. Она возвращает число, если все прошло успешно, или 0, если возникла проблема при загрузке звука. Вы должны присвоить значение, которое возвращает данная команда, переменной (предпочтительно созданной как Global) для дальнейшего воспроизведения (командой PlaySound). См. пример.
Пример
; Глобальная переменная для звука
Global sndPlayerDie
; Загрузка звукового файла в память
sndPlayerDie=LoadSound("sounds/die.wav")
; Воспроизвести звук
PlaySound sndPlayerDie
|
|
|
03.09.2005, 18:28
|
#3
|
|
FreeSound переменная_звука
Параметры
переменная_звука = переменная, которой ранее был назначен звук командой LoadSound
Описание
Если вы больше не используете звуковой эффект, вам следует очистить память, использованную для этого звука и удалить его. Эта команда удалит звук, назначенный переменной, созданной командой LoadSound.
Зачем это нужно делать? Вероятно, у вас имеются разные наборы звуков для разных уровней вашей игры. Вероятно, фоновая музыка у вас меняется от уровня к уровню. В таком случае действительно правильным решением будет упорядочивание игровых ресурсов. Даже если вы можете загружать любой звук для всей игры сразу, примите во внимание тех, у кого нет столько памяти на компьютере, сколько есть у вас. Вы же хотите быть уверенным, что ваша игра будет доступна как можно большему количеству людей.
Примечание: вы не должны вручную очищать память, когда ваша программа заканчивает свое выполнение, Blitz сделает это сам.
Пример
; Загрузить звук в память
sndOneUp=LoadSound("audio1up.wav")
; Очистить память и удалить звук
FreeSound sndOneUp
|
|
|
03.09.2005, 18:30
|
#4
|
|
LoopSound переменная_звука
Параметры
переменная_звука = переменная, которой ранее был назначен звук командой LoadSound
Описание
Эта команда устанавливает бесконечное проигрывание звукового файла (.WAV или .MP3), например, для фоновой музыки. Вы должны загрузить звук и назначить его переменной командой LoadSound. Используйте переменную, созданную как Global, чтобы быть уверенным, что ваш звук будет воспроизводиться из любого места программы.
Примечание: эта команда в действительности не воспроизводит звук бесконечно, только устанавливает бесконечное проигрывание для конкретного звука. Необходимо использовать команду PlaySound, чтобы воспроизвести сам звук.
Пример
; Глобальная переменная для звука
Global sndMusicLoop
; Загрузить звуковой файл в память
sndMusicLoop=LoadSound("sounds/loop1.wav")
; Установить бесконечное проигрывание
LoopSound sndMusicLoop
; Воспроизвести звук
PlaySound sndMusicLoop
|
|
|
03.09.2005, 18:30
|
#5
|
|
SoundPitch переменная_звука, частота
Параметры
переменная_звука = переменная, которой ранее был назначен звук командой LoadSound
частота = допустимая частота проигрывания (до 44000 герц)
Описание
Изменяет тон («высоту») звука, предварительно загруженного командой LoadSound. Изменяя тон, вы можете многократно использовать один звук в разных целях или сделать для него эффект «понижения»/«повышения» (например, как звук двигателя). Чтобы сделать звук «выше», увеличьте частоту. И наоборот, уменьшение частоты приведет к «понижению» звука.
Примечание: эффект зависит от начальной частоты звука
Пример
; Загрузить звук (11,000 герц)
snd1Up = LoadSound("audiooneup.wav")
; Проиграть звук
PlaySound snd1Up
; «Повысить» тон звука и снова проиграть
SoundPitch snd1Up, 11000*2;вдвое больше начальной частоты
PlaySound snd1Up
; «Понизить» тон и снова проиграть
SoundPitch snd1Up, 11000/2;1/2 начальной частоты
PlaySound snd1Up
|
|
|
03.09.2005, 18:31
|
#6
|
|
SoundVolume переменная_звука, громкость#
Параметры
переменная_звука = переменная, которой ранее был назначен звук командой LoadSound
громкость# = дробное значение от 0 (тишина) до 1 (полная громкость)
Описание
Изменяйте громкость воспроизведения звукового эффекта этой командой. Она использует дробное число от 0 до 1, чтобы контролировать уровень громкости.
См. ChannelVolume для большей ясности.
Пример
; Загрузить звук
sndDeath=LoadSound("audiodeath.wav")
; Уменьшить уровень громкости на половину
SoundVolume sndDeath,.5
; Проиграть звук
PlaySound sndDeath
|
|
|
03.09.2005, 18:32
|
#7
|
|
SoundPan переменная_звука, смещение#
Параметры
переменная_звука = переменная, которой ранее был назначен звук командой LoadSound
смещение# = дробное число от –1 (лево) до 1 (право), 0 – центр
Описание
Используйте эту команду, чтобы «сместить» (или «центрировать») звуковой эффект между левой и правой колонками. Она позволит создать эффект крутого стереозвучания в вашей игре.
Пример
; Загрузить звуковой файл
sndDeath=LoadSound("audiodeath.wav")
; «Сместить» звуковой эффект наполовину влево
SoundPan sndDeath,-.5
; Воспроизвести звук
PlaySound sndDeath
|
|
|
03.09.2005, 18:33
|
#8
|
|
PlaySound (переменная_звука)
Параметры
переменная_звука = переменная, которой ранее был назначен звук командой LoadSound
Описание
Эта команда воспроизводит предварительно загруженный и назначенный переменной с помощью команды LoadSound звук. См. пример.
Вам потребуется назначить переменную-указатель канала звуку, когда вы воспроизводите его. Все последующие команды, обращающиеся к звуку, требуют от вас использования переменной КАНАЛА, а не звука. Такими командами являются StopChannel, PauseChannel, ResumeChannel, ChannelPitch, ChannelVolume, ChannelPan и ChannelPlaying.
Пример
; Глобальная переменная для звука
Global sndPlayerDie
; Загрузить звуковой файл в память
sndPlayerDie=LoadSound("sounds/die.wav")
; Воспроизвести звук
chnDie=PlaySound (sndPlayerDie)
|
|
|
03.09.2005, 18:34
|
#9
|
|
PlayMusic (файл$)
Параметры
файл$ = имя музыкального файла. Поддерживаемые форматы: raw/mod/s3m/xm/it/mid/rmi/wav/mp2/mp3/ogg/wma/asf
Описание
Эта команда загрузит и воспроизведет музыкальный файл.
Вы ДОЛЖНЫ использовать переменную канала для того, чтобы остановить или отрегулировать проигрываемую музыку. Можно также использовать StopChannel, PauseChannel, ResumeChannel и др. с этой командой.
Нельзя предварительно загрузить мелодию, как звук командой LoadSound. Каждый раз, когда вы используете команду PlayMusic, файл загружается, и музыка сразу же проигрывается. Это значит, что если вы используете эту команду, в то время, как на экране происходит какое-нибудь действие, может появиться небольшая пауза, пока будет происходить поиск необходимого файла на жестком диске. Чтобы избежать этого, можно использовать команды PlaySound/LoopSound вместо PlayMusic.
Пример
; Загрузить и проиграть фоновую музыку
chnBackground=PlayMusic("music\background.wav")
|
|
|
03.09.2005, 18:35
|
#10
|
|
PlayCDTrack (трек,[режим] )
Параметры
трек = номер трека для проигрывания
режим = 1: проиграть трек один раз; 2: проигрывать бесконечно; 3: проиграть до конца комакт-диска
Описание
Команда проигрывает трек с компакт-диска и возвращает указатель на канал.
Необязательный параметр режим позволяет проигрывать трек разными способами. Запомните, что воспроизведение происходит через кабель внутри компьютера, который соединяет CR-ROM и звуковую карту. На многих компьютерах (по каким-либо причинам) данный кабель не подключен. В этом случае вы НЕ услышите звук с компакт-диска, даже если слышите остальные звуковые эффекты и музыку.
Пример
; PlayCDTrack – пример использования
; Пользователь вводит номер трек для проигрывания
track=Input$("Введите номер трека:")
; Проиграть трек, назначить его каналу (проиграть только один раз)
chnCD=PlayCDTrack(track,1)
; Запомнить текущее время
oldTime=MilliSecs()
; Играть до окончания трека или до нажатия Esc
While ChannelPlaying(chnCD) And (Not KeyHit(1))
; Очистить экран и написать, сколько прошло времени с начала проигрывания
Cls
Locate 0,0
Print "Прошло времени (в секундах):" + ((MilliSecs()-oldTime)/1000)
Wend
; Остановить канал
StopChannel chnCD
|
|
|
03.09.2005, 18:38
|
#11
|
|
StopChannel указатель_на_канал
Параметры
указатель_на_канал = переменная, назначенная каналу
Описание
Эта команда заменила StopSound в более поздней версии Blitz Basic.
Если воспроизводится звук, и он назначен переменной канала, используйте эту команду, чтобы остановить звук. Она работает со всеми типами звуковых каналов, включая MP3, WAV, MIDI и треки с компакт-диска.
Пример
; Примеры с каналами
Print "Загрузка звука..."
; Загрузите образец – в кавычках нужно указать путь к файлу на диске
; Для лучшего результата поставьте задержку 5-10 секунд
sndWave=LoadSound("level1.wav")
; Зациклить звук (будет повторятся бесконечно)
LoopSound sndWave
chnWave=PlaySound(sndWave)
Print "Воспроизведение звука 2 секунды…"
Delay 2000
Print "Пауза на 2 секунды…"
PauseChannel chnWave
Delay 2000
Print "Возобновление воспроизведения…"
ResumeChannel chnWave
Delay 2000
Print "Изменение тона («высоты») звука..."
; StopChannel chnWave
ChannelPitch chnWave, 22000
Delay 2000
Print "Воспроизведение звука с измененной «высотой»…"
Delay 2000
Print "Только левая колонка"
ChannelPan chnWave,-1
Delay 2000
Print "Только правая колонка"
ChannelPan chnWave,1
Delay 2000
Print "Конец!"
StopChannel chnWave
|
|
|
03.09.2005, 18:39
|
#12
|
|
PauseChannel указатель_на_канал
Параметры
указатель_на_канал = переменная, назначенная каналу
Описание
При проигрывании звукового канала может наступить момент, когда вам потребуется его приостановить (например, для воспроизведения другого звукового эффекта). Эта команда делает вышесказанное. Воспроизведение канала можно возобновить путем использования ResumeChannel. Используйте StopChannel для полной остановки звука. Работает с любым типом канала (в WAV, MP3, MIDI и др.).
Пример
; Примеры с каналами
Print "Загрузка звука..."
; Загрузите образец – в кавычках нужно указать путь к файлу на диске
; Для лучшего результата поставьте задержку 5-10 секунд
sndWave=LoadSound("level1.wav")
; Зациклить звук (будет повторяться бесконечно)
LoopSound sndWave
chnWave=PlaySound(sndWave)
Print "Воспроизведение звука 2 секунды…"
Delay 2000
Print "Пауза на 2 секунды…"
PauseChannel chnWave
Delay 2000
Print "Возобновление воспроизведения…"
ResumeChannel chnWave
Delay 2000
Print "Изменение тона («высоты») звука..."
; StopChannel chnWave
ChannelPitch chnWave, 22000
Delay 2000
Print "Воспроизведение звука с измененной «высотой»…"
Delay 2000
Print "Только левая колонка"
ChannelPan chnWave,-1
Delay 2000
Print "Только правая колонка"
ChannelPan chnWave,1
Delay 2000
Print "Конец!"
StopChannel chnWave
|
|
|
03.09.2005, 18:40
|
#13
|
|
ResumeChannel канал
Параметры
канал = музыкальный или звуковой канал, предварительно загруженный командами LoadSound, PlayMusic или др.
Описание
ResumeChannel используется для возобновления воспроизведения звукового или музыкального канала после того, как вы временно его приостановили ( PauseChannel).
Пример
Graphics 640, 480, 0, 2
musicchannel = PlayMusic ("oohyeahbaby.mp3"); Замените на имя файла, который есть на вашем жестком диске
Repeat
Print "Нажмите любую клавишу, чтобы приостановить музыку..."
WaitKey
PauseChannel musicchannel
Print "Нажмите любую клавишу, чтобы возобновить проигрывание..."
WaitKey
ResumeChannel musicchannel
Until KeyHit (1)
End
|
|
|
03.09.2005, 18:40
|
#14
|
|
ChannelPitch указатель_на_канал, частота
Параметры
указатель_на_канал = переменная, назначенная каналу
частота = значение тона («высоты») канала (попробуйте 8000-44000)
Описание
Вы можете изменять тон звукового канала, который воспроизводится, приостановлен или просто определен в программе. Я уверен, вы найдете множество применений этой команде! Используйте частоту вашего звука как основу для изменения тона. Если ваш звук имеет начальную частоту 11025 герц, увеличьте частоту до 22050, чтобы удвоить «высоту» звука, 8000 – чтобы ее уменьшить и т.д. Хоть эта команда и похожа на SoundPitch, она позволяет изменять тон каждого отдельно взятого канала, используемого в вашей программе.
Пример
; Примеры с каналами
Print "Загрузка звука..."
; Загрузите образец – в кавычках нужно указать путь к файлу на диске
; Для лучшего результата поставьте задержку 5-10 секунд
sndWave=LoadSound("level1.wav")
; Зациклить звук (будет повторяться бесконечно)
LoopSound sndWave
chnWave=PlaySound(sndWave)
Print "Воспроизведение звука 2 секунды…"
Delay 2000
Print "Пауза на 2 секунды…"
PauseChannel chnWave
Delay 2000
Print "Возобновление воспроизведения…"
ResumeChannel chnWave
Delay 2000
Print "Изменение тона («высоты») звука..."
; StopChannel chnWave
ChannelPitch chnWave, 22000
Delay 2000
Print "Воспроизведение звука с измененной «высотой»…"
Delay 2000
Print "Только левая колонка"
ChannelPan chnWave,-1
Delay 2000
Print "Только правая колонка"
ChannelPan chnWave,1
Delay 2000
Print "Конец!"
StopChannel chnWave
|
|
|
03.09.2005, 18:41
|
#15
|
|
ChannelVolume указатель_на_канал, громкость#
Параметры
указатель_на_канал = переменная, назначенная каналу
громкость# = уровень громкости, дробное значение между 0 и 1
Описание
Если SoundVolume благополучно изменяет громкость во всей программе, то эта команда позволяет вам изменять громкость для каждого отдельно взятого канала. Очень полезно.
Значение громкости дробное, находится в пределах между 0 и 1 (0=тишина, .5=половина громкости, 1=полная громкость). Вы можете также использовать другие крутые примочки, как ChannelPitch и ChannelPan!
Пример
; Примеры с каналами
Print "Загрузка звука..."
; Загрузите образец – в кавычках нужно указать путь к файлу на диске
; Для лучшего результата поставьте задержку 5-10 секунд
sndWave=LoadSound("level1.wav")
; Зациклить звук (будет повторяться бесконечно)
LoopSound sndWave
chnWave=PlaySound(sndWave)
Print "Воспроизведение звука 2 секунды…"
Delay 2000
Print "Пауза на 2 секунды…"
PauseChannel chnWave
Delay 2000
Print "Возобновление воспроизведения…"
ResumeChannel chnWave
Delay 2000
Print "Изменение громкости звука ..."
ChannelVolume chnWave, .5
Delay 2000
Print "Воспроизведение звука уже в половину громкости..."
Delay 2000
Print "Только левая колонка"
ChannelPan chnWave,-1
Delay 2000
Print "Только правая колонка"
ChannelPan chnWave,1
Delay 2000
Print "Конец!"
StopChannel chnWave
|
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:55.
|