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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     イヤホンジャックを抜くとFLASHの挙動がおかしくなる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
maki_an
Åê¹ÆNo.46620
投稿日時: 2010-12-23 23:29
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
イヤホンジャックを抜くとFLASHの挙動がおかしくなる
今作っているホームページで、
あるボタン(以下「Aボタン」とします)が押された後、以下の内容のfunctionが発生します。

parentparentparentMc.top_message.gotoAndPlay("off");

channel = new SoundChannel();
sound = new Sound();
my_volume = new SoundTransform(0.15,0);
ur = new URLRequest("./sound/switch_press.mp3");
sound.load(ur);
channel = sound.play();


実際の動きとしては、シーン1(=ルート階層)が"off"というラベルに移動し、音が鳴る、という単純な仕組みなのですが、

先方から問い合わせがあり、
DELL VOSTRO 230 Windows 7 Professionalで
音声出力端子に何も刺さっていない状態でページを閲覧し、Aボタンを押しすと画面が固まり操作が出来なくなる、とのことでした。
スクリプトで音を鳴らさないボタンは押せるし、挙動もするそうです。

不思議なのは、音声出力端子に例えばイヤホンなどをつけると問題なく動作するそうなのです。
これに関しては完璧に何度でも再現されるとのこと。
どうやら偶然ではなさそうです。

自分のPCで音声出力端子からコードを抜いて試してみましたが、
そんな動作にはなりませんでした。

さて、前置きが長くなりましたが、

イヤホンジャックに何かがささるささらないの差でflashの挙動に変化が出たことがある方はいらっしゃいますか?
もしいらっしゃったら、解決策などお教え願えないでしょうか。

もしくは、そんな事例に当たったことはないが解決策に心当たりがある、という方のご意見もお待ちしております。

なんだか狐につままれたような気分で、混乱しております。
おかしな質問ではございますが、よろしくお願いいたします。
a___24
Åê¹ÆNo.46625
投稿日時: 2010-12-24 15:26
新米
居住地: Tokyo
投稿: 1
使用環境:
WinXP,FlashCS5
Re: イヤホンジャックを抜くとFLASHの挙動がおかしくなる
以前、私も同じ現象に出会しました。

詳しく検証はしていませんが、WindowsVista 以降の PC ではスピーカーやイヤホンなどをなにも接続していない場合、サウンドデバイスが無効になり、Sound インスタンスが null になってしまうことがあるようです。

以下のように、Sound インスタンスを制御する箇所を if 文で囲ってあげれば解決できると思います。


parentparentparentMc.top_message.gotoAndPlay("off");

sound = new Sound();
my_volume = new SoundTransform(0.15,0);
ur = new URLRequest("./sound/switch_press.mp3");
sound.load(ur);
if (sound != null)
{
    channel = sound.play();
}
AsaToBan
Åê¹ÆNo.46879
投稿日時: 2011-1-21 18:34
新米
居住地: 東京都
投稿: 1
使用環境:
win7 flash CS4
Re: イヤホンジャックを抜くとFLASHの挙動がおかしくなる
古い投稿で解決してそうですが、
先ほどこの問題にぶちあたりまして、解決しましたので投稿します。
Soundクラスのplay()メソッドのリファレンスを見ますと、

戻り値
SoundChannel ― サウンドの制御に使用する SoundChannel オブジェクトです。このメソッドは、サウンドカードがない場合、または使用できるサウンドチャンネルが不足した場合は null を返します。一度に使用できるサウンドチャンネルの最大数は 32 チャンネルです。

とありました。
サウンドデバイスがないPCなどではflashコンテンツを再生させたときSoundChannelの戻り値がnullになってしまうようです。
私は

bgm(リンケージさせたSoundクラス)
var soundChanel:SoundChannel = bgm.play(0, int.MAX_VALUE);
//--略--
if (soundChanel !== null)
{
  soundChanel.stop();
}

の様にして解決しました。
maki_an
Åê¹ÆNo.46896
投稿日時: 2011-1-24 16:56
半人前
居住地: 東京
投稿: 47
使用環境:
FlashCS5

WIN7

DELL PentiumD 1.5Ghz
Re: イヤホンジャックを抜くとFLASHの挙動がおかしくなる
すみません!返信を怠っておりました!

教えていただいた方法で解決いたしました。
まさかハードウエアのせいでflashにnullが返ってきているなんて
思いもしなかったので本当に助かりました。
本当にありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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