前のページ次のページ上に戻るホーム SophiaFramework 2.2
SFBMedia
IMedia インターフェイスのラッパークラスです。
#include <SFBMedia.hpp>
class SFBMedia : public SFBQuery;
typedef SFBMedia&          SFBMediaRef;
typedef SFBMedia*          SFBMediaPtr;
typedef SFBMedia**         SFBMediaHandle;
typedef const SFBMedia     ConstSFBMedia;
typedef const SFBMedia&    ConstSFBMediaRef;
typedef const SFBMedia*    ConstSFBMediaPtr;
typedef const SFBMedia**   ConstSFBMediaHandle;

継承図

SFBMedia クラスの継承図

解説

[Tip] Tip

IMedia インターフェイスは抽象インターフェイスであり、 再生するメディアのフォーマットおよび実装により、 実際にサポートされている API やパラメータは異なります。 現在サポートされている API やパラメータに関する詳細な情報はありません。

参照

BREW API IMedia

バグ情報

コールバックの不具合
バグ BREW エミュレータ 2.0.1.5

BREW SDK 上、IMEDIA_SetMuteCtl や IMEDIA_SetAudioDevice を行った場合、 コールバック時に渡される MM_CMD_SETMEDIAPARM の値が MM_PARM_VOLUME で渡される不具合があります。

サスペンド時のオブジェクトのリリースについて
バグ A5304T

SMAF 再生中、他のアプリを起動しようとすると (一発起動キー or ISHELL_StartApplet)、 再生中のアプリケーションに対して EVT_APP_SUSPEND がかかります。このとき、 再生をストップして IMEDIA オブジェクトを解放するのが正しい動作ですが、 SMAF 再生エンジンの不具合により、この操作 (オブジェクトの解放)を行うと端末にリセットがかかることがあります。 これに対処するには、以下のようにコーディングしてください。

基本的なシーケンスは以下の通りです。

  1. EVT_APP_SUSPENDを受信。

  2. イベント ハンドラ内で、IMEDIA_Stop をコール。

  3. イベント ハンドラでは TRUE を返してサスペンドする。

  4. IMEDIA_Stop のコールバックが呼ばれたら、このコールバック内で IMEDIA_Release をコールして IMedia オブジェクトを解放する。

EVT_APP_SUSPEND で直ちに IMedia オブジェクトを解放するのではなく、 IMEDIA_Stop のコールバック関数内で解放を行うのがポイントです。

以下に、簡単なサンプルを示します。

// サスペンド時のイベントハンドラ
case EVT_APP_SUSPEND:

    if (pMe->pMedia != NULL)
    {
        pMe->bSuspend = TRUE;
        IMEDIA_Stop(pMe->pMedia);
    }
    return TRUE;

// IMEDIA_Stop のコールバック
MediaStopCB(....)
{
    if (pMe->bSuspend)
    {
        // サスペンド処理中なら、IMedia オブジェクトを解放
        IMEDIA_Release(pMe->pMedia);
        pMe->bSuspend = FALSE;
    }
    return;
}

SetParam, GetParam
ドキュメント エラー BREW API リファレンス 2.0.1.5

IMEDIA_SetParam/GetParam の各パラメータの説明文中、 フォーマットが崩れて意味不明な個所があります。正しくは以下の通りです。

nParamID 操作 説明 p1 p2
MM_PARM_AUDIO_PATH 取得/設定 メディアパス MM_APATH_XXX (p1=MM_APATH_LOCAL_RINGER の時のみ) SilentTimerMS。繰り返し再生時のトラック間の 無音時間を定める (ミリ秒単位)。O に設定された場合、繰り返しを行わない。
MM_PARM_TICK_TIME 取得/設定 MM_TICK_UPDATE の周期 デフォルトは 1000 (ミリ秒単位)。0 にセットすると、 MM_TICK_UPDATE イベントは発生しない。
IMEDIA_SetTickTime
バグ BREW エミュレータ 2.0.1.5

この API は、SDK 上で正常に動作しません。

メンバ

パブリック関数
public
AddRef (SFBBase から継承) インターフェイスの参照カウントをインクリメントします。
public
EnableChannelShare メディアの排他的な再生を有効/無効に設定します。
public
EnableFrameCallback メディアの排他的な再生を有効/無効にします。
public
FastForward 現在位置から指定された時間だけ早送りします。 メディアは現在の状態を保持します。
public
GetClassID IMedia インタフェース オブジェクトの Class ID を取得します。
public
GetFrame 現在のフレームを IBitmap として取得します。
public
GetMediaData メディアデータを取得します。
public
GetMediaParm メディア パラメータを取得します。
public
GetRect 宛先の画像長方形とテキスト長方形を取得します。
public
GetState IMedia インタフェースの現在の状態を返します。
public
GetTotalTime IMedia オブジェクトの合計再生時間を返します。
public
GetVolume 現在の再生/記録のボリュームを取得します。
public
static
Instance IMedia インターフェイスのインスタンスを取得します。
public
IsChannelShare 現在のチャンネル共有の設定を取得します。
public
IsFrameCallback 現在のフレーム コールバックの有効/無効の設定を取得します。
public
Pause メディアを一時停止し、MM_STATUS_PAUSE コールバックの中に現在の位置を返します。
public
Play 再生を開始します。
public
QueryInterface (SFBQuery から継承) このオブジェクトからの別の API を問い合わせます。
public
Record 記録を開始します。
public
RegisterNotify コールバック通知関数を登録します。
public
Release (SFBBase から継承) インターフェイスの参照カウントをデクリメントします。
public
Resume 現在の位置からメディアを再開します。
public
Rewind 現在位置から指定時間だけ巻き戻しします。 メディアは現在の状態を保持します。
public
Seek メディアの位置をシークします。 メディアは現在の状態を保持します。
public
SeekFrame メディアの位置をシークします。
public
Self (SFBQuery から継承) オブジェクトを単一インタフェースで実装する際に使用します。
public
SetAudioDevice メディアデータを設定し、メディアをレディ状態にします。
public
SetAudioPath 再生/記録のオーディオパスを設定します。
public
SetMediaData メディアデータを設定し、メディアをレディ状態にします。
public
SetMediaParm メディア パラメータを設定します。
public
SetMuteCtl 現在のオーディオパスをミュート/ミュート解除します。
public
SetPan 現在の再生のパンファクタを設定します。
public
SetRect 宛先の画像長方形とテキスト長方形を設定します。
public
SetTickTime 再生/記録の間にアプリケーションに送信されるMM_TICK_UPDATEイベントの周期を設定します。
public
SetVolume 現在の再生/記録のボリュームを設定します。
public
Stop 再生/記録を停止します。

SFBMedia::EnableChannelShare
メディアの排他的な再生を有効/無効に設定します。
[ public ]
SFCError EnableChannelShare(
    SInt32 bEnable   
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API IMEDIA_EnableChannelShare


SFBMedia::EnableFrameCallback
メディアの排他的な再生を有効/無効にします。
[ public ]
SFCError EnableFrameCallback(
    SInt32 bEnable   
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API IMEDIA_EnableFrameCallback


SFBMedia::FastForward
現在位置から指定された時間だけ早送りします。 メディアは現在の状態を保持します。
[ public ]
SFCError FastForward(
    SInt32 lTimeMS   // 時間 (ミリ秒)
);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

----------------------------------------------------------------------
// [→] キーが押された場合に、
// サウンドを 10 秒進めます。
if (key == AVK_RIGHT) {
    if (_media != NULL) {
        // 早送りをします。(10 秒)
        _media->FastForward(10000);
    }
}

参照

BREW API IMEDIA_FastForward | SFBMedia::Seek | SFBMedia::Rewind | SFBMedia::Play


SFBMedia::GetClassID
IMedia インタフェース オブジェクトの Class ID を取得します。
[ public ]
SFCError GetClassID(
    AEECLSID * pCls   
);
[ public ]
AEECLSID GetClassID(Void);

参照

BREW API IMEDIA_GetClassID | SFBMedia::GetMediaParm


SFBMedia::GetFrame
現在のフレームを IBitmap として取得します。
[ public ]
SFCError GetFrame(
    SFUBrewPtr<SFBBitmap> * ppFrame   
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API IMEDIA_EnableFrameCallback


SFBMedia::GetMediaData
メディアデータを取得します。
[ public ]
SFCError GetMediaData(
    AEEMediaData * pMediaData   
);

参照

BREW API IMEDIA_GetMediaData | AEEMediaData | SFBMedia::GetMediaParm | SFBMedia::GetMediaData | SFBMedia::SetMediaParm


SFBMedia::GetMediaParm
メディア パラメータを取得します。
[ public ]
SFCError GetMediaParm(
    SIntN nParamID   
    SInt32Ptr pP1    
    SInt32Ptr pP2    
);

参照

BREW API IMEDIA_GetMediaParm | SFBMedia::SetMediaParm | AEEMediaCmdNotify


SFBMedia::GetRect
宛先の画像長方形とテキスト長方形を取得します。
[ public ]
SFCError GetRect(
    AEERect * prImage   
    AEERect * prText    
);

参照

BREW API IMEDIA_GetRect | SFBMedia::Play | SFBMedia::Record | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm


SFBMedia::GetState
IMedia インタフェースの現在の状態を返します。
[ public ]
SIntN GetState(
    BoolPtr pbStateChanging   
);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

----------------------------------------------------------------------
// セレクトキーが押された場合に、
// サウンドを一時停止します。
if (key == AVK_SELECT) {
    if (_media != NULL) {
        SInt32 state;
        Bool   bStateChanging;

        // 現在の状態を取得します。
        state = _media->GetState(&bStateChanging);

        if (state == MM_STATE_PLAY) {
            // 再生中のサウンドを一時停止します。
            _media->Pause();
        }
    }
}

参照

BREW API IMEDIA_GetState


SFBMedia::GetTotalTime
IMedia オブジェクトの合計再生時間を返します。
[ public ]
SFCError GetTotalTime(Void);

参照

BREW API IMEDIA_GetTotalTime | AEEMediaCmdNotify


SFBMedia::GetVolume
現在の再生/記録のボリュームを取得します。
[ public ]
SFCError GetVolume(
    UInt16Ptr pwVolume   
);
[ public ]
UInt16 GetVolume(Void);

参照

BREW API IMEDIA_GetVolume | SFBMedia::SetAudioPath | SFBMedia::SetMuteCtl | SFBMedia::SetVolume | SFBMedia::SetPan | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm | SFBMedia::SetAudioDevice


SFBMedia::Instance
IMedia インターフェイスのインスタンスを取得します。
[ public, static ]
SFUBrewPtr<SFBMedia> Instance(Void);

SFBMedia::IsChannelShare
現在のチャンネル共有の設定を取得します。
[ public ]
SFCError IsChannelShare(
    SInt32Ptr pbEnable   
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API IMEDIA_IsChannelShare


SFBMedia::IsFrameCallback
現在のフレーム コールバックの有効/無効の設定を取得します。
[ public ]
SFCError IsFrameCallback(
    SInt32Ptr pbEnable   
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API IMEDIA_IsFrameCallback


SFBMedia::Pause
メディアを一時停止し、MM_STATUS_PAUSE コールバックの中に現在の位置を返します。
[ public ]
SFCError Pause(Void);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

----------------------------------------------------------------------
// セレクトキーが押された場合に、
// サウンドを一時停止します。
if (key == AVK_SELECT) {
    if (_media != NULL) {
        SInt32 state;
        Bool   bStateChanging;

        // 現在の状態を取得します。
        state = _media->GetState(&bStateChanging);

        if (state == MM_STATE_PLAY) {
            // 再生中のサウンドを一時停止します。
            _media->Pause();
        }
    }
}

参照

BREW API IMEDIA_Pause | SFBMedia::Play | SFBMedia::Resume | SFBMedia::Record | AEEMediaCmdNotify


SFBMedia::Play
再生を開始します。
[ public ]
SFCError Play(Void);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

参照

BREW API IMEDIA_Play | SFBMedia::FastForward | SFBMedia::Pause | SFBMedia::Record | SFBMedia::Resume | SFBMedia::Rewind | SFBMedia::Seek | SFBMedia::Stop | AEEMediaCmdNotify


SFBMedia::Record
記録を開始します。
[ public ]
SFCError Record(Void);

参照

BREW API IMEDIA_Record | SFBMedia::FastForward | SFBMedia::Pause | SFBMedia::Play | SFBMedia::Resume | SFBMedia::Rewind | SFBMedia::Seek | SFBMedia::Stop | AEEMediaCmdNotify | AEEMediaData |


SFBMedia::RegisterNotify
コールバック通知関数を登録します。
[ public ]
SFCError RegisterNotify(
    PFNMEDIANOTIFY pfnNotify   
    VoidPtr pUser = NULL       
);

参照

BREW API IMEDIA_RegisterNotify | PFNMEDIANOTIFY


SFBMedia::Resume
現在の位置からメディアを再開します。
[ public ]
SFCError Resume(Void);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

----------------------------------------------------------------------
// セレクトキーが押された場合に、
// 一時停止中のサウンドを再生します。
if (key == AVK_SELECT) {
    if (_media != NULL) {
        SInt32 state;
        Bool   bStateChanging;

        // 現在の状態を取得します。
        state = _media->GetState(&bStateChanging);

        if (state == MM_STATE_PLAY_PAUSE)
        {
            // 一時停止中のサウンドを再生します。
            _media->Resume();
        }
    }
}

参照

BREW API IMEDIA_Resume | SFBMedia::Play | SFBMedia::Pause | SFBMedia::Record | AEEMediaCmdNotify


SFBMedia::Rewind
現在位置から指定時間だけ巻き戻しします。 メディアは現在の状態を保持します。
[ public ]
SFCError Rewind(
    SInt32 lTimeMS   // 時間 (ミリ秒)
);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

----------------------------------------------------------------------
// [←] キーが押された場合に、
// サウンドを 10 秒戻します。
if (key == AVK_LEFT) {
    if (_media != NULL) {
        // 巻き戻しをします。(10 秒)
        _media->Rewind(10000);
    }
}

参照

BREW API IMEDIA_Resume | SFBMedia::FastForward | SFBMedia::Seek | SFBMedia::Play | AEEMediaCmdNotify


SFBMedia::Seek
メディアの位置をシークします。 メディアは現在の状態を保持します。
[ public ]
SFCError Seek(
    AEEMediaSeek eSeek   // シーク参照
    SInt32 lTimeMS       // 時間 (ミリ秒)
);

参照

BREW API IMEDIA_Seek | AEEMediaSeek SFBMedia::FastForward | SFBMedia::Rewind | SFBMedia::Play


SFBMedia::SeekFrame
メディアの位置をシークします。
[ public ]
SFCError SeekFrame(
    AEEMediaSeek seek   
    SInt32 frames       
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API IMEDIA_SeekFrame


SFBMedia::SetAudioDevice
メディアデータを設定し、メディアをレディ状態にします。
[ public ]
SFCError SetAudioDevice(
    AEESoundDevice eDevice   
);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

参照

BREW API IMEDIA_SetAudioDevice | AEESoundDevice | SFBMedia::SetAudioPath | SFBMedia::SetMuteCtl | SFBMedia::SetVolume | SFBMedia::GetVolume | SFBMedia::SetPan | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm


SFBMedia::SetAudioPath
再生/記録のオーディオパスを設定します。
[ public ]
SFCError SetAudioPath(
    SIntN nAPath   
    UInt32 dwMS    
);

参照

BREW API IMEDIA_SetAudioPath | SFBMedia::SetMuteCtl | SFBMedia::SetVolume | SFBMedia::GetVolume | SFBMedia::SetPan | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm | SFBMedia::SetAudioDevice


SFBMedia::SetMediaData
メディアデータを設定し、メディアをレディ状態にします。
[ public ]
SFCError SetMediaData(
    AEEMediaData * pMediaData   
);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

参照

BREW API IMEDIA_SetMediaData | SFBMedia::GetMediaData | SFBMedia::GetMediaParm | SFBMedia::SetMediaParm


SFBMedia::SetMediaParm
メディア パラメータを設定します。
[ public ]
SFCError SetMediaParm(
    SIntN nParamID   
    SInt32 p1        
    SInt32 p2        
);

参照

BREW API IMEDIA_SetMediaParm | AEEMediaData | SFBMedia::GetMediaParm


SFBMedia::SetMuteCtl
現在のオーディオパスをミュート/ミュート解除します。
[ public ]
SFCError SetMuteCtl(
    Bool bMute   
);

参照

BREW API IMEDIA_SetMuteCtl | SFBMedia::SetAudioPath | SFBMedia::SetVolume | SFBMedia::GetVolume | SFBMedia::SetPan | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm | SFBMedia::SetAudioDevice


SFBMedia::SetPan
現在の再生のパンファクタを設定します。
[ public ]
SFCError SetPan(
    UInt16 wPan   
);

参照

BREW API IMEDIA_SetPan | SFBMedia::SetAudioPath | SFBMedia::SetMuteCtl | SFBMedia::SetVolume | SFBMedia::GetVolume | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm | SFBMedia::SetAudioDevice


SFBMedia::SetRect
宛先の画像長方形とテキスト長方形を設定します。
[ public ]
SFCError SetRect(
    AEERect * prImage   
    AEERect * prText    
);

参照

BREW API IMEDIA_SetRect | AEERect | SFBMedia::Play | SFBMedia::Record | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm


SFBMedia::SetTickTime
再生/記録の間にアプリケーションに送信されるMM_TICK_UPDATEイベントの周期を設定します。
[ public ]
SFCError SetTickTime(
    UInt32 dwTickMS   // 周期間隔
);

参照

BREW API IMEDIA_SetTickTime | SFBMedia::Play | SFBMedia::Record | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm


SFBMedia::SetVolume
現在の再生/記録のボリュームを設定します。
[ public ]
SFCError SetVolume(
    UInt16 wVolume   
);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // 音量を設定します。
    _media->SetVolume(AEE_MAX_VOLUME);

    // サウンドを再生します。
    _media->Play();
}

参照

BREW API IMEDIA_SetVolume | SFBMedia::SetAudioDevice | SFBMedia::SetAudioPath | SFBMedia::SetMuteCtl | SFBMedia::GetVolume | SFBMedia::SetPan | SFBMedia::SetMediaParm | SFBMedia::GetMediaParm


SFBMedia::Stop
再生/記録を停止します。
[ public ]
SFCError Stop(Void);

使用例

// クラスのメンバ変数として宣言します。
SFUBrewPtr<SFBMedia>    _media;
AEEMediaData            _mdata;
----------------------------------------------------------------------

// 関数内のローカル変数として宣言します。
SFUBrewPtr<SFBShell> shell    = SFBShell::Instance();
const char*          filename = "test.qcp";

// IMediaQCP インターフェイスを取得して、メディアデータを設定します。
_media = SFBMediaQCP::Instance();

if (_media != NULL) {
    // AEEMediaData 構造体にメディアデータを設定します。
    _mdata.clsData  = MMD_FILE_NAME;
    _mdata.pData    = STRDUP(filename);
    _mdata.dwSize   = 0;

    // メディアデータを設定します。
    _media->SetMediaData(&_mdata);

    // オーディオ デバイスを設定します。
    _media->SetAudioDevice(AEE_SOUND_DEVICE_CURRENT);

    // サウンドを再生します。
    _media->Play();
}

----------------------------------------------------------------------
// セレクトキーが押された場合に、
// サウンドの再生を停止します。
if (key == AVK_SELECT) {
    if (_media != NULL) {
        _media->Stop();
    }
}

参照

BREW API IMEDIA_Stop | SFBMedia::Play | SFBMedia::Record