bada開發:播放實時rtsp流
作者:雪的專欄
bada是三星公司自主開發的移動操作系統,它的特點是配置靈活、用戶交互性好、面向服務,非常重視SNS集成和地理位置服務應用。本文介紹了如何在bada平臺實現播放實時rtsp流。
bada是三星公司自主開發的移動操作系統,它的特點是配置靈活、用戶交互性好、面向服務,非常重視SNS集成和地理位置服務應用。bada的設計目標是開創人人能用智能手機的時代。本文介紹了如何在bada平臺實現播放實時rtsp流。
使用Osp::Media::Player類
- The supported formats in streaming
- Video : H.264, H.263, MPEG4
- Audio : AMR-NB, AAC, AAC+, EAAC+
- The supported protocol in streaming
- RTSP
- {
- __pPanel= new OverlayPanel();
- __pPanel->Construct(Rectangle(0,58,480,560));
- AddControl(*__pPanel);
- __pPlayer = new Player();
- Osp::Graphics::BufferInfo bufferInfo;
- r = __pPanel->GetBackgroundBufferInfo(bufferInfo);
- __pListener = new VideoPlayerListener;
- r = __pPlayer->Construct(*__pListener, &bufferInfo);
- VideoPlayerPlay();
- }
- void
- VideoPlayerForm::VideoPlayerPlay()
- {
- result r = E_SUCCESS;
- if(openFlag == false)
- {
- String resolveString(L"rtsp://***");
- Uri baseUri;
- baseUri.SetUri(resolveString);
- r = __pPlayer->OpenUrl(baseUri);
- r = __pPlayer->Play();
- openFlag = true;
- }
- else
- {
- AppLog("file being played");
- }
- }
- //因為播放的是實時流媒體,暫停時直接停止,再次恢復時重新建立連接(調用VideoPlayerPlay())
- void
- VideoPlayerForm::VideoPlayerPause()
- {
- result r = E_SUCCESS;
- PlayerState nowState = __pPlayer->GetState();
- if(nowState == PLAYER_STATE_PLAYING)
- {
- AppLog("stop");
- r = __pPlayer->Stop();
- if(IsFailed(r))
- {
- AppLog(">>>>>> (VideoPlayer::VideoPlayerStop) Stop has failed: %s\n", GetErrorMessage(r));
- return;
- }
- r = __pPlayer->Close();
- if(IsFailed(r))
- {
- AppLog(">>>>>> (VideoPlayer::VideoPlayerStop) Close has failed: %s\n", GetErrorMessage(r));
- return;
- }
- openFlag = false;
- }
- else
- {
- AppLog("file does not play");
- }
- }
【編輯推薦】
責任編輯:佚名
來源:
CSDN博客