![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
делаю плеер с эквализацией, получаю данные в Sound обьект, но почемуто с нужной точки воспроизвести его не могу, все время проигрывается с самого начала трека(((
_out_snd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound); _channel = _out_snd.play(pos); function processSound(event:SampleDataEvent):void { _samples = new ByteArray(); var len:Number = buf[trackDesc].sound.extract(_samples, BUFFER_SIZE); var i:int=0; var l:Number; var r:Number; if ( len < BUFFER_SIZE ) { // If end of MP3, start over len += buf[trackDesc].sound.extract(_samples,BUFFER_SIZE-len,0); } _samples.position = 0; while (i < BUFFER_SIZE) { event.data.writeFloat(_eqL.compute(_samples.readFloat())); event.data.writeFloat(_eqR.compute(_samples.readFloat())); i++; } } |
|
|||||
|
Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
|
если мне память не изменяет то :
эта строчку будет отвечать с какой секунды будет проигрываться.
|
|
|||||
_out_snd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound); _channel = _out_snd.play(pos);//независимо от pos играется сначала? function processSound(event:SampleDataEvent):void { _samples = new ByteArray(); var len:Number = buf[trackDesc].sound.extract(_samples, BUFFER_SIZE);/*надо указать место извлечения, если вы хотите обрабатывать данные не сначала*/ var i:int=0; var l:Number; var r:Number; if ( len < BUFFER_SIZE ) { // If end of MP3, start over len += buf[trackDesc].sound.extract(_samples,BUFFER_SIZE-len,0);/*тут третий параметр можно опустить, последовательне вызовы extract сдвигают начало выборки на значение 2го параметра*/ } _samples.position = 0; while (i < BUFFER_SIZE) { event.data.writeFloat(_eqL.compute(_samples.readFloat())); event.data.writeFloat(_eqR.compute(_samples.readFloat())); i++; } }//не учитывается event.position
__________________
RTFM Последний раз редактировалось S-ed; 18.06.2011 в 17:41. |
|
|||||
|
S-ed большое спасибо, указал позицию, все заработало
только вот когда меняю позицию, непонятно почему, вклинивается милисекундный кусочек из начала((( Последний раз редактировалось MXPain; 20.06.2011 в 04:11. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:04. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|