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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode 7

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Swift 2

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

Q&A

解決済

1回答

3065閲覧

xcodeで、音源を入れていくコード内でのエラーについて。

gandhi

総合スコア18

Xcode 7

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Swift 2

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

0グッド

0クリップ

投稿2016/07/25 04:42

それぞれの動物が、それぞれの鳴き声で泣くような音源の設定をしているのですが、
var soundName = ""のそれぞれの箇所で、
下記のような「同じ英文」の黄色いエラーメッセージが計7つも出てきてしまい、
真っ黄色になって音声が反映されません。
「Initialization of variable 'soundName' was never used;consider replacing with assignment to '_' or removing it」

どこが間違っているのかで苦戦しています。
何卒よろしくお願いいたします。

func changeLabel() {
let random = arc4random_uniform(100)
①var soundName = ""

switch random { case 0..<10: animalLabel.text = "????" resultLabel.text = "大吉だワン!" ②var soundName = "dog1.mp3" case 10..<30: animalLabel.text = "????" resultLabel.text = "中吉だニャー!" ③var soundName = "cat-cry1.mp3" case 30..<50: animalLabel.text = "????" resultLabel.text = "吉だヒヒーン!" ④var soundName = "horse-dash1.mp3" case 50..<70: animalLabel.text = "????" resultLabel.text = "末吉だメエー!" ⑤var soundName = "sheep-cry1.mp3" case 70..<90: animalLabel.text = "????" resultLabel.text = "凶だゾウ!" ⑥var soundName = "elephant1.mp3" default: animalLabel.text = "????" resultLabel.text = "大凶だガオー!" ⑦var soundName = "lion-cry1.mp3" } let url = NSBundle.mainBundle().bundleURL.URLByAppendingPathComponent("dog1.mp3") do{ player = try AVAudioPlayer(contentsOfURL: url) player.play() } catch { print("エラー") }

}
}

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

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

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

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

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

guest

回答1

0

ベストアンサー

黄色いのはウォーニング(warning)です。(赤で表示されるのがエラー(Error)です)
「soundNameが、値を入れているのに使われていません」というような意味です。

現状のコードでは、①〜⑦のsoundNameが全て別物として扱われてしまいますので、
②〜⑦の「var soundName = "〜"」の頭に付いているvarを削除して下さい。
これで②〜⑦において、①のsoundNameを使用するようになります。

あとは、このsoundNameをURLByAppendingPathComponent()に渡してやればいいです。

swift

1NSBundle.mainBundle().bundleURL.URLByAppendingPathComponent(soundName)

試していないので、これで音が鳴るかどうかは分かりませんが‥。

投稿2016/07/25 04:54

編集2016/07/25 04:55
fuzzball

総合スコア16731

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

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

gandhi

2016/07/25 05:03

ご回答、誠にありがとうございます! 確かに②〜⑦について、varを消さないといけない箇所ですね! ただ、ご指摘の通り②〜⑦の「var」を削除したのですが、 ①に まだ別のウォーニングの黄色い英文が出てきてしまいまして、それぞれの音源が鳴りません。この場合はいかがでしょうか。 ①に新しく英文でこのように表示されています。「Variable 'soundName' was written to,but never read」と表示されています。
fuzzball

2016/07/25 05:08

URLByAppendingPathComponentにsoundNameを渡してますか?
HiroshiWatanabe

2016/07/25 05:10

値をセットしてるのに参照してないよって警告ですね fuzzballさんがアドバイスくれている NSBundle.mainBundle().bundleURL.URLByAppendingPathComponent(soundName) という修正をしていないのではないですか?
HiroshiWatanabe

2016/07/25 05:10

あ、かぶっちゃいましたね。失礼しました。
gandhi

2016/07/25 05:15

fuzzballさん、Hiroshiさん、 URLByAppendingPathComponentにsoundNameに修正をしたところ、 ちゃんと音源がそれぞれ鳴るようになりました! ありがとうございます!ここが原因となっていたのですね。 音が鳴ってスッキリしました! ありがとうございます!
fuzzball

2016/07/25 05:38

@HiroshiWatanabe 危うくかぶるところでしたw @gandhiさん errorやwarningのメッセージは、 1. 翻訳してみる。(ただし結局意味が分からないことが多い) 2. メッセージ丸ごとググってみる(けっこうイケる) などをお勧めします。
gandhi

2016/07/25 06:09

非常に助かりました。ご回答、誠にありがとうございました! 引っ掛かって長時間 往生していても、 一つ一つその場をクリアーするごとに 同じパターンには次からはひっかからなくてスムーズに解決できるよになるので、 学んでいくのが楽しくなってきた所です。 アドバイスの通り、翻訳のほか、ググってみて、頑張ってみてもいこうと思います! ありがとうございます! 英文に関しては、海外経験があるため全く抵抗もなく、 日本語訳にすぐ分かっているつもりなのですが、 いざ具体的にどう打ち込んで修正するのかとなるとサッパリ分からないのが自分として無力さを感じています。。。。 再三ながら、誠にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問