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

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

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

SpriteKitは、iOSやOS Xで使用できるApple社製の2Dゲーム開発フレームワークです。

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

1回答

2094閲覧

Swift.AVAudioplayerでスクリーン上でサウンドの操作(再生、消音)

yumi00

総合スコア8

SpriteKit

SpriteKitは、iOSやOS Xで使用できるApple社製の2Dゲーム開発フレームワークです。

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/05/11 18:09

編集2022/01/12 10:55

こんばんは。初めての投稿失礼します。
何度か指摘して頂き何回もご迷惑をおかけしますが、よろしくお願いします。

###前提・実現したいこと
SpriteKitで、クイズゲームを作成していて、スクリーン上でサウンドの操作(再生、消音)
背景音楽の再生、消音の方法は理解しているのですが
クイズの設問に正解した時に効果音(ピンポン)、不正解時(ブブー)と再生されるのを消音にしたいと思っています。効果音にも消音を適応する方法が分かりません。

目指している物は文学史クイズのような消音ボタンの効果です。
ボタン

###試したこと
SwiftDocsを参考にして、背景音楽の再生、消音はできているのですが、
SKActionによるサウンド再生の通知センターのイベントを利用すれば実装可能と思われるのですが、
私自身無知な為SKActionによるサウンド再生がSwiftでは無く、object-Cで記載されている為、
理解に苦しんでいます。

###補足情報(言語/FW/ツール等のバージョンなど)
Swift2.2
Xcode7.3.1

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

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

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

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

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

TakeOne

2016/05/11 23:00

「タップ時の問題について解決できない」というのは、コードを実装して動かしてみたんだけど、思った通りに動かないということですか?そうであれば、実装したコードの内容と、どのような動作を期待しているのに実際に動かすとどうなってしまうのかを具体的に説明してください。タップの検出方法がわからないとか、効果音の再生方法がわからないとか、そもそもやり方がわからないという話であれば、何がわからないのかを具体的に説明すれば、優しい回答者が丁寧にやり方を回答してくれるかもしれませんが、そういう場合はまず自分でgoogle検索した方が早いと思います。それで、検索して参考にしたサイトの説明がわからなければ、具体的に参考にしたサイトのURLを示して、その説明の何がわからないのかを具体的に聞いた方が回答を得られやすいと思います。 あと「言語とツールは最新になります」というのも、あなたが最新と認識しているものが本当に最新なのか意識合わせした方が良いですし、後でこの質問を見た人もわかるように、ちゃんとバージョン番号を書いておいた方がよいと思います。
yumi00

2016/05/12 19:33 編集

「タップ時の問題について解決できない」というのはタイトルの意味のままです。他に深い意味はありません。 復唱になりますが、 Swift.AVAudioplayerでタップ時の効果音.再生のOn,Of が、できないという事です。 「コードを実装して動かしてみたんだけど、思った通りに動かないということですか」 とありますが、本件に書いてある様に 「ネットや書籍等を色々調べ、背景音楽の再生、停止は実現できた」 と記載しましたので、実現しているコードを書いても何も意味が無いと思ったので書きませんでした。 実現したいコードの方法をお聞きしたいので、コードの書きようがありません。 「タップの検索方法が分からないとか、効果音の再生方法がわからないとか」とありますが、 「ネットや書籍等を色々調べ、背景音楽の再生、停止は実現できた」と記載したので、音楽の再生方法は理解できていると理解してもらえると思います。 「参考にしているサイトを記載」 とありますが、そのサイトはUIkitを使用しており、私が考えているのはSpritekitなので、答えが混合しないようにと思い記載しませんでした。 「バージョン」についてですが、 失礼致しました。 後の人の事を考えていませんでした。 私自身まだ知識が浅いもので、説明が至らない所もあります。しかし、この質問をするのに、私なりに色々と考え、時間をかけて投稿しました。 それを丸投げ質問と言われると、 腑に落ちません。 質問する上でこのような事を言える立場では無いのですが、よろしくお願いします。
guest

回答1

0

念のため言っておきますが、「やってほしいことだけを記載した丸投げの質問」というマイナス評価を入れたのは私ではありません。マイナス評価を入れる人は、コメントをするのも面倒な人が入れます。わざわざコメントを入れている人はたいていマイナス評価している人とは別の人です。

マイナス評価を入れると、そのコメントの中に「調査したこと・試したことを記入していただくと、回答が得られやすくなります」というメッセージが自動的に入るので、通常はその通り調査したことや試したことを追記してもらえばいいんですが、あなたの質問には「試したこと」という項目が一応あるのにマイナス評価が入っているのでちょっとかわいそうだなと思って内容を読んでみると、何を試したのか全くわからないし、それ以前にどのようなことをしたいのかもわからなくて全然説明できてなかったので、何を書けばいいのかわからないのだろうなと思って、親切のつもりでどのようなことを書けばいいのかをコメントしました。批判されたように思われたのでしたらすみません。

まだちゃんとわかってないのですが、いろいろ想像した結果、もしかしたら「背景音楽」と書かれているものと「効果音」と書かれているものは同じものではないかと推測しました。もしそうだとして、さらにいろいろ推測して、背景音楽はUIViewControllerベースのViewControllerの中でAVAudioPlayerを使って再生していて、タップイベントはSKSceneベースのSceneの中でtouchesBeganで取得していて、このtouchesBeganの処理でどうやってViewControllerのAVAudioPlayerを制御したらいいのかわからないという話であれば、
http://chemicalfactory.hatenablog.com/entry/2014/08/12/013203
とかが参考になると思います。

AVAudioPlayerを使っている場所が違うとか、「背景音楽」と「効果音」が別物だとかという話でしたら、今できているコードを示してもう少し現状の説明をしてもらわないと、何がしたくてどこまでできていて、この後どうしたいのかやっぱりわからないので、すみませんが私には回答出来ません。

投稿2016/05/12 23:09

TakeOne

総合スコア6299

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

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

yumi00

2016/05/13 10:24

大変失礼しました。全くその通りです。マイナス評価の件については初めて知りました。 私なりに考えて投稿したとしてもそれが伝わらないのならば、丸投げ質問と言われるのは当たり前の事でした。 以後この様な事がない様に質問する立場の最低限の事ができる用にします。 本当にすみませんでした。それと私の少ない情報から、参考サイトまで書いてもらい、本当にありがとうございます。 質問の内容を書き換えましたので、よろしかったら回答よろしくお願いします。 また不手際がありましたら、改善しますので、よろしくお願いします。
TakeOne

2016/05/13 12:00 編集

書き換えていただいた質問を読んでもやりたいことがまだはっきりわかってないのですが、最終的にやりたいのはクイズアプリ(のようなもの)で、背景音楽が常に流れていて、正解をタップすると正解音(ピンポン)が鳴り、不正解をタップすると不正解音(ブブー)が鳴るようになっていて、サイレントボタンのようなものをタップすることで、再生中の背景音楽を停止し、正解/不正解をタップしてもピンポン/ブブーがならないようにしたいということですか? それで、今回聞きたいのは、背景音楽をAVAudioPlayerで再生する方法がわかっていて(そこまでは自分のアプリに組み込んでいて)、サイレントボタンを押した時に背景音楽の再生を停止するにはどうしたらよいかということですか? もしそうでしたら、まさに回答で示したURLにその制御方法が書かれていると思って紹介したのですが。 SwiftでなくてObjective-Cで説明されているページですが、要点は同じです。通知センター(NSNotificationCenter)を使って、タップイベントを処理しているところからViewControllerにイベントを通知すればいいです。 やりたいことや聞きたいところが違うなら、上記の想定のどこまで合っていて、どこが違うのかを説明してください。
yumi00

2016/05/13 16:07

すみません、また質問を書き直しました。やりたい事は上記の内容であっています。
TakeOne

2016/05/14 23:24

> クイズの設問に正解した時に効果音(ピンポン)、不正解時(ブブー)と再生されるのを消音にしたいと思っています。効果音にも消音を適応する方法が分かりません。 やっと聞きたいことがわかりました。AVAudioplayerを使うことにこだわられていたので、効果音ではなく背景音楽の制御について知りたいのかと勘違いしていました。効果音の制御の話であれば、AVAudioplayerを使う必要はないし、AVAudioplayerのやり方を参考にする必要もありません。 効果音が鳴らないようにしたいというのは、短い効果音(ピンポン/ブブー)が鳴っているのを途中で止める必要はなく、消音中かどうかを判断し、消音中なら`self.runAction(mySoundAction)`を実行しなければよいだけだと思います。消音中かどうか判断するには、消音中フラグをどこかにプロパティで定義しておいて消音ボタンを押した時にそのフラグをON/OFFし、必要な時にそのフラグを見て判断すればいいだけだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問