• 締切済み

FLASHのBGMのミュートについて

FLASH MXを使いホームページ編集の勉強をしているのですが、 スピーカーのボタンを使ってのBGMのミュートが上手くいきません。 分かる方いますでしょうか? 編集前の1フレーム目のアクションが stop(); trace("_root.soundstatus - " + _root.soundstatus); if (_root.soundstatus == "off") { gotoAndStop(2); } // end if 2フレーム目のアクションが stop(); となっています。 どのように編集すれば、正常に動作するのでしょうか? 分かる方いましたら、宜しくお願い致します。

みんなの回答

  • perse
  • ベストアンサー率74% (113/152)
回答No.1

サウンドを操作するのならSoundクラスを使ってみてください。 ここで説明するよりも参考URLを見ていただいたほうがわかりやすいと思います。 音量の調節は my_sound.setVolume( 1~100の数値 ) です。

参考URL:
http://hakuhin.hp.infoseek.co.jp/main/as/import.html#IMPORT_05
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Flashでアニメーションとサウンドを違うタイミングでループさせたい

    こんばんは! Flash8を使ってHPにアップするSWFファイルを作成しています。 アニメーションもサウンドもループ再生させたいのですが、アニメーションの長さとサウンドの長さが違いうまくループさせることができません。 アニメーションは56秒、サウンドは1分48秒という感じです。 さらに、サウンドはON・OFFで音が制御できるようになっています。 下記のスクリプトで挑戦してみたのですが、ON・OFFを押すたび音が増えて輪唱のように何重にも重なって聞こえてきます。 「ON・OFFムービークリップ1フレーム目」 stop(); _root.soundA = new Sound(); _root.soundA.attachSound("00000.mp3"); _root.soundA.start(0,999); 「シーンにおいたON・OFFムービークリップ」 on (release) { if (_root.soundA.getVolume()>0) { _root.soundA.setVolume(0); _root.on_off.gotoAndStop("soundoff"); trace(_root.soundA.getVolume()); } else if (_root.soundA.getVolume()<=0) { _root.soundA.setVolume(100); _root.on_off.gotoAndStop("soundon"); } } 質問内容がわかりにくいかもしれませんが、ご回答よろしくお願いします。

  • flashのBGMのoff/onボタン

    はじめまして。Flashがまだよくわかっていない初心者です。マニュアル本、こちらのhttp://oshiete1.goo.ne.jp/qa1789705.htmlを参考にやってみましたが、わかりません。お願いです。教えてください。 最初に開いたらBGMがデフォルトで鳴っていて、「サウンドOFF」ボタンを押すとBGMは停止し、アニメーションは最後までという内容です。 現在の状況および作成手順ですが、 「シーン1」には2つレイヤーがあり、1つ目のレイヤーは「but」とし、これにはサウンドOFF/ONのムービークリップを配置してあります。フレームは1つだけで、ここに下記を記述(action)しました。 ---------------------------------------- onClipEvent(load) { //サウンドを挿入 snd = new Sound(); snd.attachSound( "BGM" ); //無限ループ再生設定 snd.onSoundComplete = function() { this.start(); }; //サウンドの再生状況を保持する変数 //再生時true、それ以外はfalse play_flg = false; //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } on(release) { //サウンド再生時は止める if( play_flg ) { snd.stop(); play_flg = false; } //停止中の場合は再生する else { snd.start(); play_flg = true; } //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } ---------------------------------------- 2つ目のレイヤーには「写真」という名前で写真5枚がフェードインアウトしながら切り替わる、というムービークリップを制作しました。 これをプレビューすると、ムービーは実行されますがBGMは鳴りません。また「サウンドOFF」「サウンドON」のボタンが繰り返してしまいます。 デバック出力で下記エラーと表示されます。 ---------------------------------------- **エラー** シーン = シーン 1, レイヤー = but, フレーム = 1 :行 1:クリップイベントはムービークリップインスタンスでのみ使用可能です。 onClipEvent(load) **エラー** シーン = シーン 1, レイヤー = but, フレーム = 1 :行 21:マウスイベントはボタンインスタンスでのみ使用できます。 on(release) ActionScript エラー数 :2 報告済みエラー :2 ---------------------------------------- どうかどのようにしたらいいのか教えてください。お願いします。

  • ゴールデンウィーク中に恐れ入ります、、Flash勉強中のyukiと申し

    ゴールデンウィーク中に恐れ入ります、、Flash勉強中のyukiと申します。 昨夜からずーーっと調べているのですが、、ギブアップ寸前なのでお助け願います。。 フラッシュ8でウェブを作成、フレームを4つに分けて作成しています。 そこのBGMをのせてon/offボタンを入れてます。 下記を拝見し途中まではうまくいきました。 http://okwave.jp/qa/q3342022.html http://okwave.jp/qa/q1789705.html フレーム1では問題ないのですが。 フレーム2ではon/offボタンが切り替わりません。(サウンドはon/offになりますが表示が変わらないのです。) どうしても1つのフラッシュで制御したいのでなんとかこの方法を完成させたいのですが、、 ご指導いただければ幸いでございます。。 フレーム1 onClipEvent(load) { snd=new Sound(); snd.attachSound("bgm"); snd.onSoundComplete =function() { this.start(); }; snd.start(); //サウンドの再生状況を保持する変数 //再生時true、それ以外はfalse play_flg=true; //再生状況に応じたフレームを表示 gotoAndStop(Number(play_flg)+1); } on(release) { //サウンド再生時は止める if(play_flg) { snd.stop(); play_flg=false; } //停止中の場合は再生する else { snd.start(); play_flg = true; } //再生状況に応じたフレームを表示 gotoAndStop(Number(play_flg)+1); } フレーム2(snd.start();を抜きました) onClipEvent(load) { snd=new Sound(); snd.attachSound("bgm"); snd.onSoundComplete =function() { this.start(); }; //サウンドの再生状況を保持する変数 //再生時true、それ以外はfalse play_flg=true; //再生状況に応じたフレームを表示 gotoAndStop(Number(play_flg)+1); } on(release) { //サウンド再生時は止める if(play_flg) { snd.stop(); play_flg=false; } //停止中の場合は再生する else { snd.start(); play_flg=true; } //再生状況に応じたフレームを表示 gotoAndStop(Number(play_flg)+1); }

    • ベストアンサー
    • Flash
  • (1)loading後再生→(2)すぐにアクセスした場合飛ばす

    現状できてることは (1)トップページにてLoading後(一分くらい)→再生→最後のフレームではストップ (2)そしてサブからトップへすぐに戻ったとき→Loading(一分)後、再生せず→最後のフレームでストップということまではできてます。 問題は(2)の"またLoading(一分)後”なのです。 サブからすぐにトップへ戻ったときは再生せずに 最後のフレームへジャンプしてくれるのはいいのですがその前にLoadingが発生して一分たってから最後の フレームへジャンプするのです。このときのloading の防ぎ方を教えてください。 現状スクリプトを下にて参考にしてください。 Flash MX6 フレーム数940 フレーム1 onClipEvent (load) { _root.stop(); //タイムラインの1フレーム目で止めておく } onClipEvent (enterFrame) { // すべて読み込んだら3フレーム目へ if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) { _root.gotoAndPlay(3); } } フレーム 2 gotoAndStop (1); ---------------↑ここまではLoading--------------- フレーム4 onClipEvent (load) { myObject = SharedObject.getLocal("Watch"); myDate = new Date(); Watch2 = myDate.getTime(); if (myObject.data.Watch1 != undefined) { Watch1 = myObject.data.Watch1; } else { Watch1 = 0; } //ココは60000で一分 if (Watch1+60000>Watch2) { //ここを最終フレーム _root.gotoAndStop(920); } } onClipEvent (enterFrame) { myDate = new Date(); Watch3 = myDate.getTime(); myObject.data.Watch1 = Watch3; } ----------↑一分内は940へジャンプ(前回sassakunさんにてご回答)-------------- フレーム4をフレーム1へ先にもってきたり 色々ためしましたがうまくいきませんよろしくおねがいします。

    • ベストアンサー
    • Flash
  • 携帯用Flashでの時間によって表示を変える方法について

    携帯用の時計待受を制作しています。 Flash lite1.1です。Flash8使用しています。 12時台だけ違う表示にさせたいのですが、 常に4フレーム目が表示されてうまくいきません。 以下のスクリプトを2フレーム目に記載しています。 stop(); m = fscommand2("GetTimeHours"); if (m = 12) { gotoAndStop(4); break; } else { gotoAndStop(3); break; } 色々と試してみたのですが、始めたばかりで なかなかうまくいきません。 すみませんがご教授お願い致します。

  • FLASHのプリロードについて…

    こんにちは。 最近FLASH MXをはじめたばかりの初心者です。 プリロード画面を作ったのですが、全て 読み込むまでに結構な時間がかかってしまいます。 そこで、全部読み込んだ時点で再生、ではなくて ある一定のフレームまでもしくは全体の○%まで 読み込んだら再生を始める、というようにしたいの ですが、そんなアクションはないでしょうか? onClipEvent(enterFrame){ total=_root.getBytesTotal(); loaded=_root.getBytesLoaded(); if(loaded==total){ _root.play();}} 今は↑のように書いています。 ご回答宜しくお願いします。

  • FlashsでのBGMのon/offfボタンについて

    以前にこう言う質問 (http://oshiete1.goo.ne.jp/kotaeru.php3?q=1789705)をされているのをみて、同じのようなものを作りたかったので、参考にして作りました。 (初心者なのでよく分からないから、丸写しですが・・・) でも、何種類か作ったflashに挿入したのですがきちんとできないのがあります。 出来ないとは、最初から音楽を鳴らすようしてます。 ボタンを押すとoff、もう一度押すとonのこのonが反応しないのです。 つまり、一度offしてしまうともう音楽が鳴らなくなってしまいます。 以下のように作成しています。 リンゲージの識別子はBGMです。 onClipEvent(load) { snd=new Sound(); snd.attachSound( "BGM" ); snd.onSoundComplete = function() { this.start(); }; play_flg=true; gotoAndStop( Number( play_flg ) + 1 ); } on(release) { if( play_flg ) { snd.stop(); play_flg = false; } else { snd.start(); play_flg = true; } //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } 音楽の同期は:イベント/繰り返し  にしています。

    • ベストアンサー
    • Flash
  • 「.txt」に記入した、テキストとリンクURLをFlashに読み込む時に・・・

    こんにちは! Windows XP Flash MX 秀丸 「.txt」から  Flash内のテキストフィールドにテキストを  そのテキストの上に重なっているボタンインスタンスに  URLを指定させたいと考えています。 マウスが乗ったときにアクションの起こるボタンに、 外部からテキストとURAを設定したいということです。 ボタン構成は ボタンインスタンス「A」 ダイナミックテキスト「vtext」 ムービークリップ「B」ActionScript記入 ムービークリップ「over」マウスが乗った時のムービー まとめて「aaa」とシンボル化してあります。 「.txt」には以下のように記入 *** Index Setup *** &index=YAHOO!JAPAN& &url=http://www.yahoo.co.jp& &target=_blank& シーン1タイムライン1フレーム目には _root.aaa.A.onRollOver = function () { if (_root.aaa.overFlag != 1) { with (_root.aaa.over) { play(); } // End of with } // end if _root.aaa.overFlag = 1; _root.aaa.vText._x = -200; }; _root.aaa.A.onRollOut = function () { _root.aaa.overFlag = 0; _root.aaa.vText._x = 0; }; _root.aaa.A.onPress = function () { getURL(_root.aaa.A.url, _root.aaa.A.target); }; 「data」には onClipEvent (load) { if (_root.inText == null) { this.loadVariables("SingleButton_01a.txt"); } else { this.loadVariables(_root.inText); } // end if } この状態でターゲットパスを正確に記入しどの階層でも動くのですが、 シーン1のタイムライン上(どこでも)にstop();とアクションを記入 するとテキストのみが表示され、ボタンのリンクやムービーは止まってしまいます。この解決方法はないのでしょうか? よろしくお願いします。

  • ボタンを押してもすぐ戻ってしまう・・・。

    1フレーム目に、 onEnterFrame = function():Void { if (_totalframes == _framesloaded) { gotoAndStop("snap"); } total = _root.getBytesTotal(); loaded = _root.getBytesLoaded(); percent = Math.floor(loaded/total*100); _root.bar_mc._xscale = percent; }; stop(); と記入し2フレーム目のフレームラベルをsnapに。 2フレーム目には、画像と次のフレームにいくボタンが置いてあります。 ボタンには、 on(press){ gotoAndStop(3); } と書いてあるのですが。 このボタンを押すと、確かに3フレーム目にいくのですが、すぐ2フレーム目に戻ってしまうんです。 初めてローディングバーをつけてみたので、間違いだらけかもしれないですがどうすればいいか教えてください><

    • ベストアンサー
    • Flash
  • FLASH5 での プリロード

    お世話になってます。 今回はFLASH5でのプリロード方法が上手くいかず投稿させて頂きました。 具体的なFLASHの内容ですが、 トータル2フレームで2MB前後のファイルとなります。 1、2フレーム目に stop(); を記述しプリロードのMC内で、 loadedSize = _root.getBytesLoaded(); totalSize = _root.getBytesTotal(); if (loadedSize >= totalSize) { _root.play(); } else { parcent = (loadedSize/totalSize)*100; gDownloaded = Math.round(parcent); _root.stop(); } とし、MC内で2フレームとってMC自体のループとしてます。 これでムービープレビューのストリーミングでは最初にプリロード されている様なのですが、フレームが0とされ 何も表示されない場所でプリローディングしている様です。 (プリロード中にフレーム1を表示させたいのですが、 全て読み込んで(フレーム0)からフレーム2に移動している感じです) またこれとは話がずれますが、指定したフレーム(途中からとか)で プリロードさせる方法はありますでしょうか? 補足要求あればお願い致します。