表示するサンプルコードの言語を指定できます。

メディアプレイヤー (MediaPlayer)

概要

メディアプレイヤーは映像ファイルを読み込んで映像を再生する機能を持ちます。 メディアプレイヤー自体が映像を表示するのではなく、メディアプレイヤーは映像を再生し、再生中の映像をテクスチャにコピーすることで映像を表示します。 疑似的に映像をテクスチャとして扱えるようになるため、様々な用途に使用できます。

現在、Windowsのみ、かつ、h264形式のみをサポートしています。 コピーする先のテクスチャは映像と画像の大きさが等しい必要があります。

主なメソッド

なし

主なプロパティ

なし

主なイベント

なし

使用方法

映像を読み込み、画面に表示するサンプルです。

SS

C++


#include <Altseed.h>

/**
@brief  映像を表示するサンプル
*/
int main()
{
    // Altseedを初期化する。
    asd::Engine::Initialize(u"MediaPlayer_Basic", 640, 480, asd::EngineOption());

    // 空の画像を生成する。
    std::shared_ptr<asd::Texture2D> texture =
        asd::Engine::GetGraphics()->CreateEmptyTexture2D(640, 480, asd::TextureFormat::R8G8B8A8_UNORM_SRGB);

    // 画像描画オブジェクトのインスタンスを生成する。
    std::shared_ptr<asd::TextureObject2D> obj = std::make_shared<asd::TextureObject2D>();

    // 描画される画像を設定する。
    obj->SetTexture(texture);

    // 画像描画オブジェクトのインスタンスをエンジンに追加する。
    asd::Engine::AddObject2D(obj);

    // メディアプレイヤーを生成する。
    std::shared_ptr<asd::MediaPlayer> mp = asd::Engine::GetGraphics()->CreateMediaPlayer();

    // 映像を読み込む。
    mp->Load(u"Data/Movie/Sample1.mp4");

    // 映像を再生する。
    mp->Play(false);

    // Altseedのウインドウが閉じられていないか確認する。
    while (asd::Engine::DoEvents())
    {
        // 映像を画像にコピーする。
        mp->WriteToTexture2D(texture);

        // Altseedを更新する。
        asd::Engine::Update();
    }

    // Altseedを終了する。
    asd::Engine::Terminate();
}

C#


/// <summary>
/// 映像を表示するサンプル
/// </summary>
class MediaPlayer_Basic
{
    public string Description
    {
        get { return ""; }
    }
    public string Title
    {
        get { return ""; }
    }
    public string ClassName
    {
        get { return "MediaPlayer_Basic"; }
    }

    public unsafe void Run()
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("MediaPlayer_Basic", 640, 480, new asd.EngineOption());

        // 空の画像を生成する。
        asd.Texture2D texture = asd.Engine.Graphics.CreateEmptyTexture2D(640, 480, asd.TextureFormat.R8G8B8A8_UNORM_SRGB);

        // 画像描画オブジェクトのインスタンスを生成する。
        asd.TextureObject2D obj = new asd.TextureObject2D();

        // 描画される画像を設定する。
        obj.Texture = texture;

        // 画像描画オブジェクトのインスタンスをエンジンに追加する。
        asd.Engine.AddObject2D(obj);

        // メディアプレイヤーを生成する。
        asd.MediaPlayer mp = asd.Engine.Graphics.CreateMediaPlayer();

        // 映像を読み込む。
        mp.Load("Data/Movie/Sample1.mp4");

        // 映像を再生する。
        mp.Play(false);

        // Altseedのウインドウが閉じられていないか確認する。
        while (asd.Engine.DoEvents())
        {
            // 映像を画像にコピーする。
            mp.WriteToTexture2D(texture);

            // Altseedを更新する。
            asd.Engine.Update();
        }

        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
}

Java

/**
 * 映像を表示するサンプル
*/
class MediaPlayer_Basic 
{
    public java.lang.String getDescription() {
        return "";
    }
    public java.lang.String getTitle() {
        return "";
    }
    public java.lang.String getClassName() {
        return "MediaPlayer_Basic";
    }
    public static void main(String args[])
    {
        // Altseedを初期化する。
        asd.Engine.Initialize("MediaPlayer_Basic", 640, 480, new asd.EngineOption());

        // 空の画像を生成する。
        asd.Texture2D texture = asd.Engine.getGraphics().CreateEmptyTexture2D(640, 480, asd.TextureFormat.R8G8B8A8_UNORM_SRGB);

        // 画像描画オブジェクトのインスタンスを生成する。
        asd.TextureObject2D obj = new asd.TextureObject2D();

        // 描画される画像を設定する。
        obj.setTexture(texture);

        // 画像描画オブジェクトのインスタンスをエンジンに追加する。
        asd.Engine.AddObject2D(obj);

        // メディアプレイヤーを生成する。
        asd.MediaPlayer mp = asd.Engine.getGraphics().CreateMediaPlayer();

        // 映像を読み込む。
        mp.Load("Data/Movie/Sample1.mp4");

        // 映像を再生する。
        mp.Play(false);

        // Altseedのウインドウが閉じられていないか確認する。
        while(asd.Engine.DoEvents())
        {
            // 映像を画像にコピーする。
            mp.WriteToTexture2D(texture);

            // Altseedを更新する。
            asd.Engine.Update();
        }


        // Altseedの終了処理をする。
        asd.Engine.Terminate();
    }
}