Что нового

Воспроизведение звука

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Код:
$b1 = FileOpenDialog("1",  "", "" )
$b2 = FileOpenDialog("2",  "", "" )
SoundPlay ($b1)
Sleep(2000)
SoundPlay ($b2)


Когда воспроизводится первый звук, а второй не давая закончить первому запускает себя.
Нужно сделать наложение звука на звук.
Возможно ли это?
Или есть другой вариант?


Добавлено:
Сообщение автоматически объединено:

Кто-нибудь знает?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Можно так:
Код:
_WMP_SoundPlay(@ScriptDir & '\1.mp3', @ScriptDir & '\2.mp3')

Func _WMP_SoundPlay($sFile1, $sFile2)
	$oWMP1 = ObjCreate("WMPlayer.OCX.7")
	$oWMP1.Url = $sFile1
	$oWMP1.Settings.Volume = 100
	$oWMP1.Controls.Play

	$oWMP2 = ObjCreate("WMPlayer.OCX.7")
	$oWMP2.Url = $sFile2
	$oWMP2.Settings.Volume = 100
	$oWMP2.Controls.Play

	Do
	Until $oWMP1.PlayState = 1 And $oWMP2.PlayState = 1
EndFunc
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Zaramot
А как таким способом воспроизвести один файл?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
А как таким способом воспроизвести один файл?
Код:
_WMP_SoundPlay(@ScriptDir & '\1.mp3')

Func _WMP_SoundPlay($sFile)
    $oWMP = ObjCreate("WMPlayer.OCX.7")
    $oWMP.Url = $sFile
    $oWMP.Settings.Volume = 100
    $oWMP.Controls.Play

    Do
    Until $oWMP.PlayState = 1
EndFunc
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Спасибо :smile:
Возможно как нибудь назначить скорость воспроизведения файла?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Возможно как нибудь назначить скорость воспроизведения файла?
Код:
_WMP_SoundPlay(@ScriptDir & '\1.mp3')

Func _WMP_SoundPlay($sFile)
    $oWMP = ObjCreate("WMPlayer.OCX.7")
    $oWMP.Url = $sFile
    $oWMP.Settings.Volume = 100
	$oWMP.Settings.Rate = 2 ;в 2 раза быстрей
    $oWMP.Controls.Play

    Do
    Until $oWMP.PlayState = 1
EndFunc
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
И как остановить?


Добавлено:
Сообщение автоматически объединено:

Ответьте пожалуйста
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
А как уменьшить?
И как остановить?
Код:
$oWMP = ObjCreate("WMPlayer.OCX.7")
$oWMP.Url = @ScriptDir & '\1.mp3'
$oWMP.Settings.Volume = 100
$oWMP.Settings.Rate = 1.1 ;Поиграйся с данным параметром
$oWMP.Controls.Play
Sleep(5000) ;Ждём 5 сек.
$oWMP.Controls.Stop ;Остановить

Do
Until $oWMP.PlayState = 1
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Ещё 1 вариант наложение звука на звук:
Код:
#include <Sound.au3>

$Sound1 = _SoundOpen(@ScriptDir & '\1.mp3')
$Sound2 = _SoundOpen(@ScriptDir & '\2.mp3')

_SoundPlay($Sound1)
_SoundPlay($Sound2)

_SoundClose($Sound1)
_SoundClose($Sound2)


Минус в том что ускорить воспроизведение нельзя.
 
A

Alofa

Гость
Zaramot Спасибо.
Мне, правда, данный метод помог немного в другой ситуации:
- ни "SoundPlay", ни "_SoundPlay" не воспроизводили ".mp3" потому что сам скрипт находился и запускался в системной папке. А как вы знаете, ОС к этому относится очень ревностно и не дает делать там лишних телодвижений.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Alofa
1. Тема 2011 года!
2. В чем ваш вопрос?!
3. Если у вас есть вопрос, создайте новую тему.
 
Верх