トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     Mediaplaybackでの連続再生
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
KIida
Åê¹ÆNo.27385
投稿日時: 2006-7-28 0:36
新米
居住地: 愛知県
投稿: 16
使用環境:
MacOS10.4 Flash(ver.8)
Mediaplaybackでの連続再生
検索で調べたのですが思いの内容がみつからず質問させてください。
Mediaplaybackコンポーネントを使い、ボタンを押すと対応する外部FLVを再生するところまでは上手くいきました。FLVをA,B,C、ボタンをbtn1,btn2,btn3とします。
ご教授いただきたいのは、btn1を押したら「A」が再生し終了したらbtn2を押さなくても「B」を再生、同様に終了したらbtn3を押さなくても「C 」を続けて再生したいのです。MediaplaybackコンポーネントはA,B,Cとも共通です。
completeが再生終了を確認できるところまではHELPのリスナーを使った方法で理解は出来たのですが(それぞれのボタンを押すと対応したFLVが再生、completeしていることをtraceで確認しました)、ここで行き詰まってしまいました。
理解できぬまま、
btn1.onRelease = function(){
myVideoComp.setMedia("A.flv","FLV");
myVideoComp.play();
var myVideoCompName="A";
}
~
//HELPのリスナーの記述を割愛
if(myVideoCompName==A){
myVideoComp.setMedia("B.flv","FLV");
myVideoComp.play();
var myVideoCompName="B";
}else if(myVideoCompName==B){
myVideoComp.setMedia("C.flv","FLV");
myVideoComp.play();
}
//
Bに移行した際にBを再生しているコンポーネントのボタンは、PAUSEのままで映像だけが再生されます。その後、completeは確認できるものの、Cには移行してくれません。
長文になり申し訳ございませんが、宜しくお願いいたします。
ひろゆき
Åê¹ÆNo.27386
投稿日時: 2006-7-28 0:52
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Mediaplaybackでの連続再生
ぱっと見ただけですが。
myVideoCompName には、文字列の"A" が代入されてるのですから、
if(myVideoCompName == "A"){
でないと、ダメではないかと思います。


var 宣言すると、かえっておかしくなる気もしますし、
C.flv を再生している際には、
myVideoCompoName を "C" に設定しておいた方が良い気もします。
btn1.onRelease = function(){
	myVideoComp.setMedia("A.flv","FLV");
	myVideoComp.play();
	myVideoCompName = "A";
}

	if(myVideoCompName == "A"){
		myVideoComp.setMedia("B.flv","FLV");
		myVideoComp.play();
		myVideoCompName = "B";
	} else if (myVideoCompName == "B"){
		myVideoComp.setMedia("C.flv","FLV");
		myVideoComp.play();
		myVideoCompName = "C";
	}


これらを修正するだけで、必ず機能するとは限りませんが、
少なくとも、ぱっと見て分かる部分で。

あるいは、スクリプトを省略されている部分に問題がある可能性もありますね。


----------------
質問する際は、回答者に具体的な情報を与えてください。

KIida
Åê¹ÆNo.27407
投稿日時: 2006-7-28 10:07
新米
居住地: 愛知県
投稿: 16
使用環境:
MacOS10.4 Flash(ver.8)
Re: Mediaplaybackでの連続再生
ひろゆき様ありがとうございます。

指摘いただいた「var宣言を取る」「文字列である””を付ける」
「3つ目のCも代入しておく」を行うことで希望の動作が叶いました。ありごとうございます。

もし可能であればもう一つの懸案もご指南いただけないでしょうか。
--------------------
var myListener = new Object();
myListener.complete = function(eventObject) {
if (myVideoCompName == "A") {
myVideoCompName = "B";
myVideoComp.setMedia("B.flv", "FLV");
myVideoComp.play();
} else if (myVideoCompName == "B") {
myVideoCompName = "C";
myVideoComp.setMedia("C.flv", "FLV");
myVideoComp.play();
}
};
myVideoComp.addEventListener("complete", myListener);
--------------------
上記のcomplete判定で連続してFLVを再生することが可能になりました。
Mediaplaybackコンポーネントはデフォルトを使用しています。

質問の内容ですが、ボタン「btn1」を押すと「A.flv」が再生されます。
コンポーネントのコントローラーは、ボタンが「再生」「STREAMING」の表示になります。
complete判定で続けて「B.flv」が再生されます。(ボタン「btn2」は押していません)
すると、コンポーネントのコントローラーのボタンが「一時停止」状態、タイムラインに本来であれば
「STREAMING」と表示されるところ「PAUSED」と表示されたまま映像は再生されます。
ボタンから再生する場合はこのようになりません。
この現象は、ボタン「btn2」を押して「B.flv」を再生した後、
complete判定で続けて「C.flv」が再生される時も起こります。

是非、ご教授いただければ幸いです。
宜しくお願いいたします。
KIida
Åê¹ÆNo.27470
投稿日時: 2006-7-29 1:04
新米
居住地: 愛知県
投稿: 16
使用環境:
MacOS10.4 Flash(ver.8)
Re: Mediaplaybackでの連続再生
結局、Mediaplaybackコンポーネントでは、complete判定を使って連続再生した場合、
コントローラのボタンが一時停止、タイムラインの表示が「PAUSED」のままという現象が何故なのかは分からないままなのですが、
FLVplaybackではどうだろうかと試したところ、上記のような現象が起きませんでした。
スクリプトは「myVideoComp.setMedia();」を「myVideoComp.load();」に変更したのと、
complete判定のところでif文の判定を変数に代入した文字で行っていたのを、
contentPathで直接FLVのファイル名を判定材料に出来たので変更しました。
~
if(myVideoCompName=="A"){ → if(myVideoComp.contentPath=="A.flv"){
~
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops