Перейти к содержанию
Fire Monkey от А до Я
  • 0

Проиграть данные с буфера. Аналог WaveOutWrite для Android


MaratBest

Вопрос

Добрый день !!!

может у кого есть пример как проиграть буфер на android устройстве ?  

на windows делал через

procedure TMainFormEmu.PlayBuffer(Buffer: array of byte);  //процедура проигрывает буфер

begin
 with header do
   begin
     wFormatTag := WAVE_FORMAT_PCM;  // формат РСМ
     nChannels := 1;    // моно
     nSamplesPerSec := 44100;  // частота дискретитатции 44.1 Кгц
     wBitsPerSample := 8; // выборка 8 бит
     nBlockAlign := nChannels * (wBitsPerSample div 8);
     nAvgBytesPerSec := nSamplesPerSec * nBlockAlign;
     cbSize := 0;
   end;
// if Opened = true then stopPlay;
   hEvent:=CreateEvent(nil,false,false,nil);
   if WaveOutOpen(addr(waveOut), 0, @header, hEvent, 0, CALLBACK_WINDOW) <> MMSYSERR_NOERROR then
      begin
        CloseHandle(hEvent);
        Exit;
      end;
   pBuf := GlobalAlloc(GMEM_MOVEABLE and GMEM_SHARE, length(Buffer));
   pBuffer := GlobalLock(pBuf);
   with outHdr do
     begin
      lpData := PBuffer;
      dwBufferLength := length(Buffer);
      dwUser := 0;
      dwFlags := 0;
      dwLoops := 0
     end;
   err:= WaveOutPrepareHeader(waveOut, @outHdr, sizeof(outHdr));
   if Err <> 0 then Exit;
   copyMemory(pBuffer, @Buffer, length(Buffer));

   err:= WaveOutWrite(waveOut, @outHdr, sizeof(outHdr));
   if Err <> 0 then Exit;

   waveOutReset(waveOut);
   waveOutUnprepareHeader(waveOut,@outHdr,sizeof(wavehdr));
   waveOutClose(waveOut); 
end;

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
В 12.02.2017 в 02:10, krapotkin сказал:

гугл android bass 

 

22 часа назад, Равиль Зарипов (ZuBy) сказал:

на счёт Bass, обертка есть такая

огромное спасибо !!! именно то что нужно !!!!

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...