一時停止→再開するサウンドコントロールの作成方法

このQ&Aのポイント
  • 独自の画像とナレーションを含むSWFファイルを他のFLAファイルに取り込み、再生や一時停止などの制御ボタンで設定したい。
  • 画像は停止と再生ができるが、ナレーション(音声)が一時停止したところから再開されない。
  • 一時停止ボタンでは`mc1`の停止とすべての音声の停止を指定し、再生ボタンでは`mc1`の再生と音声の開始を指定している。どのようにすれば良いか教えてください。
回答を見る
  • ベストアンサー

一時停止→再開するサウンドコントロールを作成したい

独自で作成した画像+ナレーション(***.mp3)が含まれているswfファイルを 他のflaファイルに(loadmovieで)取り込み、 再生、一時停止等の制御ボタンで設定しようと考えています。 画像は停止、再生できたんですが、ナレーション(音声)が一時停止したところから再開されません。ちなみにナレーションが含まれているswfはloadSoundで取り込みました。 読み込む側のflaのほうのサウンドコントロールには現在、下記のような記述をしてあります。 ●一時停止ボタンには on(release){ _root.mc1.stop(); stopAllSounds(); } ●再生ボタンには on (release) { _root.mc1.play(); _root.Sound.start(); } どなたか、ご教示願います。

  • Flash
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>>タイムラインに普通に音ファイルをストリーミングで置いてしまってもActionScriptでサウンドコントロール出来るものなんですか? タイムラインに音ファイルを置いた場合は、サウンドコントロールというよりは、frameのコントロールになります。 gotoAndPlayとかの簡単なスクリプトだけで行けるので、楽ですよね。 >>”positionで取得した数字”というと、どのように指定すればよろしいのでしょうか? これはアップしてもらったスクリプトで、もう結構おしいところまで出来てて、あとは pause_numが "positionで取得した数字" になるから startTime=Math.floor(pause_num/100)/10; で 再度再生を開始するときに _sound.start(startTime); ということになります。

sakurakiku
質問者

お礼

でっ、出来ましたぁ!!有難うございます! 感謝、感激です!! 音が再開されたときには嬉しさのあまり、声を出してしまいました。 (シーンとしたオフィスで・・・) 大変、助かりました!! また、分からないことが出てきましたら、 今後とも宜しくお願い致します! スクリプトはよく分からないですけど、 お陰様で少し楽しくなってきました。 有難うございました。

その他の回答 (2)

回答No.3

できましたか!!!  よかったです。  上手く動くとそれなりに楽しいですよね。 ちなみにほとんどの人がマニュアル買って独学って感じなんじゃないですかね?  ぼくもその一人です。おかげでおそらく文法とかめちゃくちゃなんでしょうが…。  それでは頑張って下さい。

回答No.1

サウンドオブジェクト.start() のパラメータには再生開始位置が指定できます。 サウンドオブジェクト.position; で現在位置を参照できます。 サウンドオブジェクト.duration; で全体の長さを参照できます。 なので、 stopしたときに、その時点での再生位置を取得 次に再生するときにはstart()にstop()したときの位置を指定 で途中からの再生は可能です。 ただし、position で取得した数字を、秒に置き換えなくてはいけないので 再生開始位置=Math.floor(positionで取得した数字/100)/10; となります。 で、あとはその応用でタイムスライダーを作るとかしてやれば良いのではないでしょうか。 だけど、もしActionScriptが苦手なら、ぶっちゃけタイムラインに普通に音ファイルをストリーミングで置いてしまうのが一番簡単かと。

sakurakiku
質問者

補足

早速のご回答ありがとうございます! 最近、仕事で作成し始めたんですが、周りに聞く人がいないんです・・・。 本等で勉強しているんですが、やはり限界がぁ・・・。 もう少し、お付き合いして頂いてもよろしいでしょうか? タイムラインに普通に音ファイルをストリーミングで置いてしまっても ActionScriptでサウンドコントロール出来るものなんですか? あと、 >再生開始位置=Math.floor(positionで取得した数字/100)/10; ”positionで取得した数字”というと、どのように指定すればよろしいのでしょうか? 現在の設定内容を見ていただいたほうがイイかもしれませんね。 (ナレーション+画像が含まれる.swf内に設定している内容です) 宜しくお願いしますm(_ _)m 訳の分からない質問していたら申し訳ございません。 //ナレーションmp3格納用サウンドデータ var _sound : Sound = new Sound(); //ナレーションロード _sound.loadSound("sound/1-1.mp3"); //音量設定 _sound.setVolume(100); _sound.start(0,1); //一時停止時の時間記録用 var pause_num : Number = 0; //再生/停止判断用フラグ var play_flg : Boolean = false; _root.pause_btn.onRelease = function() { //フラグを停止状態にする play_flg = false; //pause_numに停止時間を記憶 pause_num = _sound.position; //再生ストップ _sound.stop(); }; _root.play_btn.onRelease = function() { //play_flgが停止状態の時のみ作動 if(!play_flg) { _sound.start(pause_num, 1); //フラグを再生状態にする play_frg = true; } }; _root.stop_btn.onRelease = function() { //フラグを停止状態にする play_flg = false; //ポーズ時間を初期化 pause_num = 0; //再生ストップ _sound.stop(); };

関連するQ&A

  • 外部swfのフレームを指定して読み込み

    あるムービークリップ(mc1とします)に外部swf(001.swfとします) を読み込むことはできるのですが、 mc1に001.swfを読み込み、001.swfの50フレーム目から再生ということは可能でしょうか。 いろいろと調べたのですが、どうしてもうまくいきませんでした。 ボタンを作りボタンを押したら読み込み50フレーム目から再生という指示を書いたのですが、、、 on (press) { _root.mc1.loadMovie("top.swf"); _root.mc1.gotoAndPlay(50); } 1フレーム目から再生されてしまいます。

  • 複数の外部SWFの読み込みする場合のサウンド制御について

    1~5.swfが存在し、それらをMain.swfから読み込み順番に再生するようにしています。 Main.swfの1フレーム目に→ stop();_root.seen1.loadMovie("1.swf"); 1.swfの最後に→ _root.nextFrame(); Main.swfの1フレーム目に→ _root.seen2.loadMovie("2.swf"); 2.swfの最後に→ _root.nextFrame(); これを1~5まで同様に設定し5.swfが終わると1.swfが始まりループするように設定し問題なく動いています。 1~5.swfには、それぞれ異なるBGMを設定しています。 ココで質問なのですが、よくあるBGMの「ON/OFFボタン」を作成しサウンドを制御したいのです。 1.swfに「ON/OFFボタン」を作成して「OFF」を選んでも、次の2.swfではまた再生されてしまいますので、「ON/OFFボタン」はMain.swfに設置したいと考えています。 Main.swfに「ON/OFFボタン」を設置して、1~5.swfのサウンドを制御するう方法を教えて下さい。 宜しくお願いします。 補足が必要な場合は言って下さい。

    • ベストアンサー
    • Flash
  • loadMovieのswf読み込み時の一瞬

    制作環境  windows vista flash CS3 Professional ------------------------- flash初心者です。 loadMovieで外部swfを読み込む前に一瞬_rootの画像が表示されてしまうことで困っています。 作業としては、 top.swfにメニューをつけ、リンクを貼って loadMovieでswfを切り替えています。 以下3つは読み込む外部ファイルです。 ・about.swf ・catalog.swf ・service.swf top.swfに配置したメニューボタン(about、catalog、service)に下記の記述をし、 ■aboutボタン on (release) { _root.moviearea.loadMovie("about.swf"); } ■catalogボタン on (release) { _root.moviearea.loadMovie("catalog.swf"); } ■serviceボタン on (release) { _root.moviearea.loadMovie("service.swf"); } ボタンを押すと_rootにそれぞれちゃんと読み込まれるまではいきました。ですがその際、例えばabout.swfが読み込まれた後に他のボタンを押して別のswfファイルを読み込む一瞬、_rootに配置してある画像がちらっと表示されてしまいます。 色々調べて外部swfファイルの背景の問題かもしれないと思い、ドキュメントサイズと同じサイズの背景色で塗りつぶしたムービークリップを配置するなどしてみましたが、やはり一瞬ですが_rootの画像が見えてしまいました。 外部ファイルから外部ファイルへスムーズに切り替えができるようにするにはどのようにしたらよいのでしょうか。 どなたかお力をお貸しくださいませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部swfファイルの閉じ方

    メインに"stage2というmcを配置し、123.swfを読み込むボタンを配置しました。 ボタンスクリプト: on (release) { _root.construction(); loadMovie("123.swf", "_root.stage"); _root.stage.swapDepths(5); for (i=1; i<=4; i++) { _root["m_"+i]._visible = false; } 開いた外部swfファイルを閉じる設定をしたいのですが、どのようにすればよいでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 一つのボタンで再生と停止を行う方法

    今、HP上で動画の再生を考えています。 再生する動画ファイル(動画.swf)のファイルサイズが5MBぐらいです。ファイルサイズが大きい為、この動画.SWFを外部ファイルとしてもう一つ再生用フレーム(テレビ.swf)を作成し、そこから動画ファイルを読み込むようにしています。 この際に、テレビ.flaで再生ボタン、停止ボタン、一番初めに戻るボタン計3つを作成しています。 一応、全てのボタンを機能さすことができました。 再生ボタンは、loadmovieで動画.swfを読み込んでいます。停止ボタンは、動画.swfをstopかけます。 一番初めに戻るボタンも_root.動画.swf.gotoPlay(1)で出来ています。 なにをしたいかというと、停止ボタンで停止したのちもう一度、停止ボタンを押すと停止部分から再生されるようにしたいのです。 停止ボタンとプレイボタンを作成すればできますが、停止ボタンで停止と再生が出来ません。 それと、もう一つ。 メモリーを再生中動かしているんですが、動かすだけはできました。しかし、このメモリーを戻したり、進めたりが出来ません。どのようにすればいいのですか? すごく、大雑把な説明ですみません! 宜しくお願いします。

    • ベストアンサー
    • Flash
  • 外部swfが作動しない

    FLASH8を使用してHPを作成しています。 index.flaの中の各ボタンに ---------------------------------------- on (release) { _root.space.loadMovie("a.swf"); } ---------------------------------------- このように指示したのですが、a.swfの中のボタンが作動しなかったり、txtファイルが読み込めなかったりします。 他のスクロールボタンは作動するのですが、何か設定がおかしいのでしょうか? 初心者なので、補足が必要ならばすぐお答えします。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • flashで、レベルの違うボタンから外部swfファイルの読み込み

    flash初心者のkiyuです。 メインのflashサイトに外部swfファイルを読み込みたいのですが、上手くいきません。 1.mcはrootにおいてあります。 2.ボタンは2つあり、1つはおなじrootの同じステージ内。そして、2つ目のボタンは違うレベルにあります。 3.同じrootにあるボタンは読み込み可能。でも、違うレベルにあるボタンは読み込み不可。 コードは、 on(release){ _root.gotoAndPlay("フレーム名"); _root.mcのインスタンス名.loadMovie("外部ファイル名.swf"); } です。 いろいろ思考錯誤をくりかえしたのですが、どうにも上手くいきません。。。 よろしくお願いします。

  • swfファイルを一時停止・再生したい。

    swfファイルを一時停止・再生したい。 JSP上で再生しているswfファイルを、JSP側から一時停止・再生を行いたいです。 swfはActionScript3.0で作成していて、JSPはeclipceで作成しています。 今現在はページを開くとswfが再生されている状態ですが、これをJSPから一時停止を行いたいです。swf内での一時停止などは出来ているので、再生中のswfにjspでアクセスする方法を教えてください。

  • ムービークリップのボタン化

    menu01_mcというムービークリップをボタンにしたいのですが、 ボタン自体に on (release) { _root.photo_mc.loadMovie("1.jpg"); } と書くと正常に動くのですが、 タイムライン上に menu01_mc.onRelease = function(){ _root.photo_mc.loadMovie("1.jpg"); } と書くと動きません。 どのようにすればいいのでしょうか? わかる方教えてください。よろしくお願いします。

  • loadMovieで特定のフレームを表示したい

    お世話になっております。 loadMovieで別のswfを読み込むことができますが、読み込んだファイルの特定のフレームを表示させたいのです。 たとえば、a.swfにb.swfをloadMovieします。 a.swfには3個のボタンがあり、それぞれがb.swfの1フレーム、10フレーム、20フレームに対応します。 ひとつのボタンに、 on (release) { this.loadMovie("b.swf"); this.gotoAndStop(10); } としても表示されないのはなんとなく理解できますので、 a.swfにムービークリップ(インスタンス名load_mc)を作り、その中にロードするようにし、さらにa.swfの5フレーム目にload_mcの10フレーム目を表示するように書きました。 ボタンに on (release) { this.load_mc.loadMovie("b.swf"); this.gotoAndStop(5); } 5フレーム目に this.load_mc.gotoAndStop(10); やはり、うまくいきません。 私の考え方が悪いのでしょうか? どうすればいいですか? どなたかよろしくお願いします。m(__)m WinのFLASH8使用です。

    • ベストアンサー
    • Flash

専門家に質問してみよう