質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

1165閲覧

同じシーンで一つ目の音しか再生されない

Buddha_san2

総合スコア27

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/05/16 08:42

編集2018/05/16 12:10

前提

Unity、C#初心者です、クイズゲームを作っています。
最初に、同じシーンで、Play On Awakeで効果音を流します。
その後に、ボタンのクリックで違う効果音を流したいと思っています。

問題

ボタンをクリックして出る効果音が再生されません。

該当のソースコード

using System.Collections; using System.Collections.Generic; using UnityEngine; public class SoundPon : MonoBehaviour { public void Pon () {      //効果音出す GetComponent<AudioSource>().Play(); } }

ボタンの中に流したいAudio Sourceを入れ、
ボタンをクリック時に、このPonメソッドを起動するようにしたのですが、音が流れません。

なぜ音が出ないのか分かりません。教えて頂けるとうれしいです。

補足

クリック時にこのPonメソッドだけでなく、

public void EndScene() { if (SceneManager.GetActiveScene().name == "Score") { //シーンを変える SceneManager.LoadScene("Title"); }

このメソッドも起動させています。

さらに補足

Debug.Logをして、Ponメソッドは起動していました。
しかし、GetComponent<AudioSource>().Play(); が反応していないようです。
同じシーンにAudioSourceがもう一つあるからでしょうか?よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

貼られているコードだけでは判断しようがない気がします。
まずはPonメソッドの中に処理が届いているのか確認してみてはいかがでしょうか。

public void Pon() { Debug.Log("Ponまで処理が来ている");   //効果音出す GetComponent<AudioSource>().Play(); }

投稿2018/05/16 12:00

negitama

総合スコア943

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Buddha_san2

2018/05/16 12:12

補足に文章を追加しました、確認して頂けると嬉しいです。
negitama

2018/05/16 12:15

同じシーンに複数のAudioSourceがあっても問題ないので、それが原因ではないはずです。 AudioSourceにAudioClipはアタッチされていますか?
Buddha_san2

2018/05/16 12:19

はい、流したい音をAudioClipにアタッチさせています。
negitama

2018/05/16 12:23 編集

うーん、なぜでしょうね。 ・AudioSourceはPonメソッドのスクリプトと同じオブジェクトにアタッチされているか確認する ・AudioClipを別の物に差し替えてみる などではいかがでしょうか。 インスペクターのスクリーンショットを貼ることはできますか?
Buddha_san2

2018/05/16 12:42

別の音を差し替えてみました。 実際に音は出ているらしく、シーンが変わる一瞬、「プツッ」という音が聞こえました 多分ですが、全ての音が出ないうちにシーンが変わっていると思われます・・・ 効果音を編集して、すぐに音が出るようにしました! 次からは、自分で確認するように、できるように頑張ります!ありがとうございます!
negitama

2018/05/16 12:47

解決したようで何よりです。 そのような場合、効果音が鳴り終わるまでシーンの切り替えを遅らせるのもひとつの案かと思います。
Buddha_san2

2018/05/16 13:10

なるほど・・・了解です!ありがとうございます!
guest

0

「Unity GetComponent<AudioSource>().Play()」で検索すると
Unityで音を再生するがヒットしました。
これには

音声を同時に再生させる場合は、以下のように

AudioSourceを2つ以上にして操作するようにすれば良いです。

とあります。

( From 上記ページ )

そこから考えて、一個につき1回じゃないかなと。

なので、二回分鳴らすなら 二回分 GetComponent<AudioSource>().Play()とやらを動かさないといけないみたい。

投稿2018/05/16 10:06

BeatStar

総合スコア4958

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Buddha_san2

2018/05/16 11:27

大変申し訳ございません。伝えたい文章を誤ってしまいました。文章を変えましたので、確認して頂けると嬉しいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問