Показать сообщение отдельно
Старый 12.12.2010, 18:55
vapes вне форума Посмотреть профиль Отправить личное сообщение для vapes Найти все сообщения от vapes
  № 3  
Ответить с цитированием
vapes
 
Аватар для vapes

блогер
Регистрация: Nov 2006
Адрес: Минск
Сообщений: 370
Записей в блоге: 6
Отправить сообщение для vapes с помощью ICQ Отправить сообщение для vapes с помощью Skype™
Делали такое, ща скину пару кусков кода.

Код:
private function record() : void 
		{
			soundBytes = new ByteArray();
			mic.addEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
		}

private function micSampleDataHandler(event : SampleDataEvent) : void 
		{
			soundBytes.writeBytes(event.data);

			var t:int = Math.floor(soundBytes.length / 88200/2);
			var s:int = t%60;
			time.text = ( t/60<10? "0" : "" ) +  Math.floor(t/60)  + ":" + ( s<10? "0" : "" ) + s;

		}

private function play() : void 
		{
			soundBytes.position = 0;
			sound = new Sound();
			sound.addEventListener(SampleDataEvent.SAMPLE_DATA, playbackSampleHandler);
			sound.play();
		}

private function playbackSampleHandler(event : SampleDataEvent) : void 
		{
			for (var i : int = 0;i < 8192 && soundBytes.bytesAvailable > 0;i++) 
			{
				var sample : Number = soundBytes.readFloat();
				event.data.writeFloat(sample);
				event.data.writeFloat(sample);
			}
		}
Эти куски кода записывают звук в массив байт и воспроизводят его.