![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0 |
このインターフェイスは、BREW 2.1 以降でのみ使用可能です。
BREW API IMediaUtil
| パブリック関数 | |
|---|---|
| SFCError |
CreateMedia(
AEEMediaData* data
, SFBMediaSmpPtr media
)
与えられたメディアデータを解析し、
SFBMedia 派生オブジェクトを作成します。
|
| SFCError |
EncodeJPEG(
AEEMediaEncodeResult* result
, AEEMediaEncodeInfo* spec
, AEECallback* callback
)
JPEG 形式のメディアをエンコードします。
|
| SFCError |
EncodeMedia(
AEEMediaEncodeResult* result
, AEECLSID clsidDest
, AEEMediaEncodeInfo* spec
, AEECallback* callback
)
指定された形式の新しいメディアをエンコードします。
|
| SFCError |
EncodePMD(
AEEMediaEncodeResult* result
, AEEMediaEncodeInfo* spec
, AEECallback* callback
)
PMD 形式のメディアをエンコードします。
|
| static SFBMediaUtilSmp |
NewInstance( Void )
SFBMediaUtil クラスのインスタンスを取得します。
|
| SFCError |
QueryInterface(
AEECLSID clsid
, VoidHandle handle
)
(SFBQuery から継承)
QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承) このオブジェクトからの別の API を問い合わせます。
|
| SFBBaseSmp |
QueryInterface(
AEECLSID clsid
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
| Void |
Self(
AEECLSID clsidReq
, SFBQuerySmpPtr clone
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インタフェースで実装する際に使用します。
|
| SFBQuerySmp |
Self(
AEECLSID clsidReq
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インタフェースで実装する際に使用します。
|
[ public ] SFCError CreateMedia( AEEMediaData* data // メディアデータ SFBMediaSmpPtr media // SFBMedia 派生オブジェクトを受け取るポインタ );
SFBMediaUtil::CreateMedia() を使用して SFBMedia 派生クラスのオブジェクトを作成し、 サウンドを再生します。
#include <SophiaFramework.hpp>
#include "MediaSample.bid"
//
// MediaSample アプリケーション クラス
//
SFMTYPEDEFCLASS(MediaSample)
class MediaSample : public SFRApplication
{
private:
SFBMediaSmp _media;
AEEMediaData _mdata;
public:
static SFCInvokerPtr ructorConst() { return new MediaSample; }
private:
MediaSample(Void);
// コピー操作を防ぐために隠蔽します。
MediaSample(MediaSampleConstRef);
MediaSampleConstRef operator = (ConstMediaSampleRef);
// アプリ開始ハンドラ
Void OnAppStart(Void);
static Bool OnAppStartEntry(SFXEventConstRef event, VoidPtr data)
{ MediaSamplePtr(data)->OnAppStart(); return true; }
// アプリ終了ハンドラ
Void OnAppStop(Void);
static Bool OnAppStopEntry(SFXEventConstRef event, VoidPtr data)
{ MediaSamplePtr(data)->OnAppStop(); return true; }
};
// BREW アプリケーションの起動コードです。
SFCInvokerSPP SFCApplet::Boot(AEECLSID id)
{
if (id == AEECLSID_MEDIASAMPLE)
{
return MediaSample::ructorConst;
}
else
{
return null;
}
}
// コンストラクタ
MediaSample::MediaSample(Void)
{
// イベント ハンドラを登録します。
RegisterHandler(SFEVT_APP_START, HANDLER_BEFORE, OnAppStartEntry, this);
RegisterHandler(SFEVT_APP_STOP, HANDLER_BEFORE, OnAppStopEntry, this);
// メディア データを初期化します。
_mdata.pData = null;
}
// アプリ開始ハンドラ
Void MediaSample::OnAppStart(Void)
{
// SFBMediaUtil オブジェクトを使用してメディアを再生します。
SFBShellSmp shell = SFBShell::GetInstance();
SFBMediaUtilSmp mutil = SFBMediaUtil::NewInstance();
const char* filename = "sample.mid";
if (mutil != null) {
// メディアデータを設定します。
_mdata.clsData = MMD_FILE_NAME;
_mdata.pData = STRDUP(filename);
_mdata.dwSize = 0;
// SFBMedia 派生クラスのオブジェクトを作成します。
mutil->CreateMedia(&_mdata, &_media);
}
if (_media != null) {
// メディアを再生します。
_media->Play();
}
}
// アプリ終了ハンドラ
Void MediaSample::OnAppStop(Void)
{
// メディア データを破棄します。
if (_mdata.pData != null) {
FREE(_mdata.pData);
}
}
BREW API IMEDIAUTIL_CreateMedia
[ public ] SFCError EncodeJPEG( AEEMediaEncodeResult* result // エンコードの結果を受け取る領域を指すポインタ AEEMediaEncodeInfo* spec // エンコード情報 AEECallback* callback // コールバック関数 );
BREW API IMEDIAUTIL_EncodeJPEG
[ public ] SFCError EncodeMedia( AEEMediaEncodeResult* result // エンコードの結果を受け取る領域を指すポインタ AEECLSID clsidDest // 宛先のエンコードクラス ID AEEMediaEncodeInfo* spec // エンコード情報 AEECallback* callback // コールバック関数 );
BREW API IMEDIAUTIL_EncodeMedia
[ public ] SFCError EncodePMD( AEEMediaEncodeResult* result // エンコードの結果を受け取る領域を指すポインタ AEEMediaEncodeInfo* spec // エンコード情報 AEECallback* callback // コールバック関数 );
BREW API IMEDIAUTIL_EncodePMD
[ public, static ] SFBMediaUtilSmp NewInstance(Void);
|
Copyright (C) 2002 - 2009 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|