C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проблема с MediaPlayer
Infant
Отправлено: 13.11.2003, 01:09


Ученик-кочегар

Группа: Участник
Сообщений: 6



У меня такая проблема:
на мою просьбу к MediaPlayer'у:
MediaPlayer1->StartRecording();
он не реагирует, а на нажати кнопки Rec все ОК???
Admin
Отправлено: 13.11.2003, 11:19


Владимир

Группа: Администратор
Сообщений: 1190



CODE

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   MediaPlayer1->DeviceType = dtWaveAudio;
MediaPlayer1->FileName = "c:\\test.wav";
MediaPlayer1->Open();
MediaPlayer1->Wait = false;
MediaPlayer1->StartRecording();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{

MediaPlayer1->Stop();
MediaPlayer1->Save();
MediaPlayer1->Close();
}
//---------------------------------------------------------------------------


Отредактировано Admin — 13/11/2003, 12:28
Infant
Отправлено: 13.11.2003, 20:15


Ученик-кочегар

Группа: Участник
Сообщений: 6



Попробывал Ваш пример. Ничего не вышло. Сам писал аналогично, но без
MediaPlayer1->Wait = false;
Admin
Отправлено: 16.11.2003, 15:06


Владимир

Группа: Администратор
Сообщений: 1190



QUOTE
, а на нажати кнопки Rec все ОК???


А на нажатие кнопки Rec все ОК ???
Записывет и создает указанный файл ?


** Infant
Отправлено: 18.11.2003, 20:38


Не зарегистрирован







Да, все OK.
Немного поразбирался с этим вопросом самостоятельно, и выяснил, что запись начинается, но состояние кнопок MediaPlayer остается неизменным. Т.е. нет переключения. Потытки изменить не увенчались успехом.
И еще мне нужно создать пустой wav файл для этого написал ниже приведенную функцию (а именно перевел ее из паскаля на си), которая создает файл, но запись в нее я не могу записать.
[CODE]
void __fastcall TSDIAppForm::CreateNewWavFileExecute(TObject *Sender){
DWORD DeviceID, Flags;
TMCI_Open_Parms MciOpen;
TMCI_Record_Parms MciRecord;
TMCI_Play_Parms MciPlay;
TMCI_SaveParms MciSave;
long int MCIResult;

MediaPlayer1->Close();
MciOpen.lpstrDeviceType = "waveaudio";
MciOpen.lpstrElementName = "";
Flags = MCI_OPEN_ELEMENT | MCI_OPEN_TYPE;
MCIResult = mciSendCommand(0, MCI_OPEN, Flags, (DWORD)(LPMCI_OPEN_PARMS)&MciOpen);
DeviceID = MciOpen.wDeviceID;
MciRecord.dwTo = 1;
Flags = MCI_TO | MCI_WAIT;
MCIResult = mciSendCommand(DeviceID, MCI_RECORD, Flags, (DWORD)(LPMCI_OPEN_PARMS)&MciRecord);
MciPlay.dwFrom = 0;
Flags = MCI_FROM | MCI_WAIT;
mciSendCommand(DeviceID, MCI_PLAY, Flags, (DWORD)(LPMCI_OPEN_PARMS)&MciPlay);
MciSave.lpfilename = "temp.wav";
Flags = MCI_SAVE_FILE | MCI_WAIT;
MCIResult = mciSendCommand(DeviceID, MCI_SAVE, Flags, (DWORD)(LPMCI_OPEN_PARMS)&MciSave);
}

Вернуться в Работа с базами данных в C++Builder