ページ 11

DxlibのMovieについて

Posted: 2016年3月16日(水) 21:32
by K.
初投稿です。
今、Dxlibで動画の再生をしているのですが、音が流れません。
音が流れないのは仕様でしょうか?

Re: DxlibのMovieについて

Posted: 2016年3月16日(水) 22:51
by Atria
こちらのフォーラムルール(http://dixq.net/board/board.html)にもありますが、
今どのように、どんな形式の(mp4など)動画を再生しようとしているのかが分かりません。
(要するに情報不足。)

どのようなソースコードで、どのような形式の動画を流そうとしているのかを教えていただけますか?

Re: DxlibのMovieについて

Posted: 2016年3月16日(水) 23:50
by K.
すいません!

コード:

#include "DxLib.h"


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
	SetWindowSizeChangeEnableFlag(TRUE);

	PlayMovie("test.ogv", 1, DX_MOVIEPLAYTYPE_BCANCEL);

	DxLib_End();
	return 0;
}
です!

Re: DxlibのMovieについて

Posted: 2016年3月17日(木) 11:00
by Hiragi(GKUTH)
こちらでも試してみました。
再生ファイルの拡張子ogvより Theora + Vorbisだと思います。
とりあえずその形式でこちらで適当な動画をエンコードした結果音がなりませんでしたので、恐らく仕様かと思います。
というわけで音だけでエンコードして同時に再生させました。

ループ内で再生する場合ならば

コード:

#include "DxLib.h"


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
	SetWindowSizeChangeEnableFlag(TRUE);

	int mvh;
	int mh;
	int k = 0;

		//音と動画
	mvh = LoadGraph("E:\\Users\\Hiragi\\Desktop\\test.ogv");
	mh = LoadSoundMem("E:\\Users\\Hiragi\\Desktop\\test.ogg");

		//再生
	PlayMovieToGraph(mvh);
	
	while (ProcessMessage() == 0)
	{
		k++;
		//描画
		DrawGraph(0,0,mvh,true);
		if(k == 1)//一フレーム目で再生開始
			PlaySoundMem(mh,DX_PLAYTYPE_BACK);


		ScreenFlip();
		ClearDrawScreen();
	}

	DxLib_End();
	return 0;
}
ただ再生するだけなら

コード:

#include "DxLib.h"


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);
	SetWindowSizeChangeEnableFlag(TRUE);

	PlaySoundFile("E:\\Users\\Hiragi\\Desktop\\test.ogg", DX_PLAYTYPE_BACK);
	PlayMovie("E:\\Users\\Hiragi\\Desktop\\test.ogv",1.0f,DX_MOVIEPLAYTYPE_BCANCEL);

	DxLib_End();
	return 0;
}

Re: DxlibのMovieについて

Posted: 2016年3月17日(木) 21:29
by K.
ありがとうございました!