PDA

Просмотр полной версии : Липсинг в реальном времени в AS3


deepNoise
25.10.2019, 14:21
Есть такой скрипт:
var myMic:Microphone = Microphone.getMicrophone();
Security.showSettings(SecurityPanel.MICROPHONE);
myMic.setLoopBack(true);
myMic.setUseEchoSuppression(false);
var sw:Number = stage.stageWidth / 2;
var sh:Number = stage.stageHeight / 2;

stage.addEventListener(Event.ENTER_FRAME, stage_EnterFrame);


function stage_EnterFrame(e:Event)
{
var num:Number = myMic.activityLevel * 4;
trace(num);

if(num >= 20){
talk.play();
}else if(num << 20){
talk.gotoAndStop(1);
}

} В клипе talk анимация открывающегося и закрывающегося рта из пяти кадров.
Когда говоришь в микрофон, проигрывается анимация рта, всё просто.

Подскажите как сделать, чтобы при этом сам микрофон не было слышно?
И чтобы при протяжных звуках рот останавливался в положении открытым.

undefined
26.10.2019, 14:08
что значит "чтоб микрофон не было слышно".Он что, звуки какие-то издает?

deepNoise
26.10.2019, 17:43
Когда говоришь в микрофон, его почему то слышно во флеше. Я не знаю как это работает, скрипт нашёл в интернете и переделал под себя.
Попробуйте использовать этот скрипт, сами услышите.

undefined
27.10.2019, 00:41
Точно не помню,но вроде тут надо на false поменять

myMic.setLoopBack(true)

deepNoise
27.10.2019, 11:30
Нет, если сделать это значение на false, то рот вообще перестаёт шевелиться.
Ещё заметил, что если говорить в пол голоса, то рот шевелиться, а эха микрофона нет.
Эхо появляется только когда говоришь достаточно громко. Как исправить?

undefined
30.10.2019, 16:05
у тебя микрофон слышит звук из колонок из-за чего он(звук) многократно усиливается.Отключай setLoopBack и подбирай коэффициенты,чтоб анимация запускалась без усиления

Добавлено через 13 минут
upd:
else if(num << 20){
<< - это оператор битового сдвига,не думаю,что ему тут место

deepNoise
17.11.2019, 18:31
Микрофон не слышит звук из колонок, потому что у меня микрофон в наушниках) И я проверял, звук из наушников в микрофоне не слышен.
Насчёт коэффициентов не понял, что именно сделать нужно? Я в AS 3.0 совсем не разбираюсь, только по шаблонам делаю.

undefined
17.11.2019, 23:01
И я проверял, звук из наушников в микрофоне не слышен.
В микрофоне не может быть ничего слышно т.к. он не воспроизводит звук.Думаю имелось в виду,что звук от микрофона не слышен в наушниках,но это противоречит изначальному утверждению
Подскажите как сделать, чтобы при этом сам микрофон не было слышно?
Насчёт коэффициентов...
У тебя условие если уровень сигнала от микрофона*4 больше 20,то запускается анимация.Вот этот порог и надо подобрать чтоб анимация запускалась без setLoopBack