Slide 1

Slide 1 text

AVAudioSessionͷશମ૾Λ௫Ή

Slide 2

Slide 2 text

ࣗݾ঺հ • Name: entaku • Work: Voicy • X: https://x.com/entaku_0818 • Hobby: ԻָϑΣε/ݸਓ։ൃ • Other: SwiftѪ޷ձӡӦ (https://love-swift.connpass.com/)

Slide 3

Slide 3 text

ԻָϑΣε

Slide 4

Slide 4 text

γϯϓϧ࿥Ի ݸਓ։ൃ ⭐ධՁ95݅ʂʂʂ

Slide 5

Slide 5 text

SwiftѪ޷ձӡӦ ೥຤ʹΧϨʔ৯΂ΔΠϕϯτ΍Δ͔ΒདྷͯͶ… https://love-swift.connpass.com/

Slide 6

Slide 6 text

AVAudioSessionͷશମ૾Λ௫Ή

Slide 7

Slide 7 text

https://fortee.jp/iosdc-japan-2024/proposal/8c6f01d9-8fd3-4d5e-afef-f29d561f3c39

Slide 8

Slide 8 text

https://speakerdeck.com/entaku/core-audioche-di-jie-pou?slide=18

Slide 9

Slide 9 text

AVAudioSession https://developer.apple.com/documentation/avfaudio/avaudiosession

Slide 10

Slide 10 text

AVAudioSession 1. ໾ׂɿ • ΞϓϦͱOS/ϋʔυ΢ΣΞؒͷڮ౉͠ • ΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻͑Δ 2. ಛ௃ɿ • ۩ମతͳಈ࡞΍ϋʔυ΢ΣΞͱͷৄࡉͳ΍ΓऔΓΛࢦఆ͢Δඞཁ͕ͳ͍ • ͦΕΒͷৄࡉͳ؅ཧ͸ΦʔσΟΦηογϣϯʹҕ೚͞ΕΔ 3. ϝϦοτɿ • OS͕ϢʔβʔͷΦʔσΟΦମݧΛ࠷దʹ؅ཧͰ͖Δ • ։ൃऀ͸௿Ϩϕϧͷ࣮૷ৄࡉΛؾʹ͢Δඞཁ͕ͳ͍ •ΦʔσΟΦηογϣϯ͸ɺΞϓϦͱΦϖϨʔ ςΟϯάγεςϜͱͷؒͷ஥հ໾ͱͯ͠ػೳ͠ ·͢ɻ •ΦʔσΟΦηογϣϯΛ࢖༻͢Δ͜ͱͰɺΦʔ σΟΦϋʔυ΢ΣΞͱͷ۩ମతͳಈ࡞΍ඞཁͳ ૬ޓ࡞༻Λৄࡉʹࣔ͢͜ͱͳ͘ɺΞϓϦͷΦʔ σΟΦͷҰൠతͳੑ࣭ΛΦϖϨʔςΟϯάγε ςϜʹ఻͑Δ͜ͱ͕Ͱ͖·͢ɻ

Slide 11

Slide 11 text

AVAudioSession AVAudioSessionͷॳظ஋ͬͯ஌ͬͯ·͢ʁ

Slide 12

Slide 12 text

AVAudioSession try audioSession.setActive(true) ॳظ஋ͬͯ஌ͬͯ·͢ʁ

Slide 13

Slide 13 text

AVAudioSessionͷॳظ஋ try audioSession.setCategory(.soloAmbient, mode: .default, options: []) try audioSession.setActive(true)

Slide 14

Slide 14 text

AVAudioSessionͷઃఆ try audioSession.setCategory(.soloAmbient, mode: .default, options: []) try audioSession.setActive(true) Category Mode Options

Slide 15

Slide 15 text

AVAudioSession Category 1. ambient • ଞΞϓϦͷԻ੠ͱࠞ߹࠶ੜ • BGMɺޮՌԻ޲͚ • αΠϨϯτϞʔυͰ͸࠶ੜఀࢭ • ϢʔεέʔεɿิॿతͳޮՌԻ͕ඞཁͳ࣌ 2. soloAmbient • ଞΞϓϦͷԻ੠Λதஅ • σϑΥϧτΧςΰϦ • αΠϨϯτϞʔυͰ͸࠶ੜఀࢭ • Ϣʔεέʔεɿ୯ಠͷԻ੠࠶ੜ 3. playback • όοΫάϥ΢ϯυ࠶ੜରԠ • αΠϨϯτϞʔυͰ΋࠶ੜܧଓ • ଞΞϓϦͷԻ੠Λதஅ • ϢʔεέʔεɿԻָϓϨʔϠʔɺಈըϓϨʔϠʔ 4. record • ࿥ԻʹಛԽ • ଞΞϓϦͷԻ੠Λதஅ • ೖྗʹ࠷దԽ • ϢʔεέʔεɿϘΠεϝϞɺ࿥ԻΞϓϦ 5. playAndRecord • ಉ࣌ʹ࿥Իͱ࠶ੜ͕Մೳ • ૒ํ޲௨৴ʹରԠ • ϏσΦνϟοτɺVoIP޲͚ • Ϣʔεέʔεɿ௨࿩ΞϓϦɺϏσΦձٞ 6. multiRoute • ෳ਺ͷೖग़ྗϧʔτΛಉ࣌࢖༻ • ϓϩ޲͚ΦʔσΟΦػೳ • ߴ౓ͳ੍ޚ͕Մೳ • ϢʔεέʔεɿDJ ΞϓϦɺԻ੍ָ࡞ΞϓϦ

Slide 16

Slide 16 text

AVAudioSession Category 1. ambient • ଞΞϓϦͷԻ੠ͱࠞ߹࠶ੜ • BGMɺޮՌԻ޲͚ • αΠϨϯτϞʔυͰ͸࠶ੜఀࢭ • ϢʔεέʔεɿิॿతͳޮՌԻ͕ඞཁͳ࣌ 2. soloAmbient • ଞΞϓϦͷԻ੠Λதஅ • σϑΥϧτΧςΰϦ • αΠϨϯτϞʔυͰ͸࠶ੜఀࢭ • Ϣʔεέʔεɿ୯ಠͷԻ੠࠶ੜ 3. playback • όοΫάϥ΢ϯυ࠶ੜରԠ • αΠϨϯτϞʔυͰ΋࠶ੜܧଓ • ଞΞϓϦͷԻ੠Λதஅ • ϢʔεέʔεɿԻָϓϨʔϠʔɺಈըϓϨʔ Ϡʔ 4. record • ࿥ԻʹಛԽ • ଞΞϓϦͷԻ੠Λதஅ • ೖྗʹ࠷దԽ • ϢʔεέʔεɿϘΠεϝϞɺ࿥ԻΞϓϦ 5. playAndRecord • ಉ࣌ʹ࿥Իͱ࠶ੜ͕Մೳ • ૒ํ޲௨৴ʹରԠ • ϏσΦνϟοτɺVoIP޲͚ • Ϣʔεέʔεɿ௨࿩ΞϓϦɺϏσΦձٞ 6. multiRoute • ෳ਺ͷೖग़ྗϧʔτΛಉ࣌࢖༻ • ϓϩ޲͚ΦʔσΟΦػೳ • ߴ౓ͳ੍ޚ͕Մೳ • ϢʔεέʔεɿDJ ΞϓϦɺԻ੍ָ࡞ΞϓϦ

Slide 17

Slide 17 text

AVAudioSession Category 1. ambient • ଞΞϓϦͷԻ੠ͱࠞ߹࠶ੜ • BGMɺޮՌԻ޲͚ • αΠϨϯτϞʔυͰ͸࠶ੜఀࢭ • ϢʔεέʔεɿิॿతͳޮՌԻ͕ඞཁͳ࣌ 2. soloAmbient • ଞΞϓϦͷԻ੠Λதஅ • σϑΥϧτΧςΰϦ • αΠϨϯτϞʔυͰ͸࠶ੜఀࢭ • Ϣʔεέʔεɿ୯ಠͷԻ੠࠶ੜ 3. playback • όοΫάϥ΢ϯυ࠶ੜରԠ • αΠϨϯτϞʔυͰ΋࠶ੜܧଓ • ଞΞϓϦͷԻ੠Λதஅ • ϢʔεέʔεɿԻָϓϨʔϠʔɺಈըϓϨʔ Ϡʔ 4. record • ࿥ԻʹಛԽ • ଞΞϓϦͷԻ੠Λதஅ • ೖྗʹ࠷దԽ • ϢʔεέʔεɿϘΠεϝϞɺ࿥ԻΞϓϦ 5. playAndRecord • ಉ࣌ʹ࿥Իͱ࠶ੜ͕Մೳ • ૒ํ޲௨৴ʹରԠ • ϏσΦνϟοτɺVoIP޲͚ • Ϣʔεέʔεɿ௨࿩ΞϓϦɺϏσΦձٞ 6. multiRoute • ෳ਺ͷೖग़ྗϧʔτΛಉ࣌࢖༻ • ϓϩ޲͚ΦʔσΟΦػೳ • ߴ౓ͳ੍ޚ͕Մೳ • ϢʔεέʔεɿDJ ΞϓϦɺԻ੍ָ࡞ΞϓϦ 1. ໾ׂɿ • ΞϓϦͱOS/ϋʔυ΢ΣΞؒͷڮ౉͠ • ΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻͑Δ 2. ಛ௃ɿ • ۩ମతͳಈ࡞΍ϋʔυ΢ΣΞͱͷৄࡉͳ΍ΓऔΓΛࢦఆ͢Δඞཁ͕ͳ͍ • ͦΕΒͷৄࡉͳ؅ཧ͸ΦʔσΟΦηογϣϯʹҕ೚͞ΕΔ 3. ϝϦοτɿ • OS͕ϢʔβʔͷΦʔσΟΦମݧΛ࠷దʹ؅ཧͰ͖Δ • ։ൃऀ͸௿Ϩϕϧͷ࣮૷ৄࡉΛؾʹ͢Δඞཁ͕ͳ͍ ͲΜͳΞϓϦʹ͢Δ͔ʁ ར༻༻్ͰΧςΰϦΛબͿ

Slide 18

Slide 18 text

AVAudioSession Mode 1. default • جຊతͳԻ੠࠶ੜ༻ • ಛผͳ࠷దԽͳ͠ • ҰൠతͳΞϓϦͷඪ४ઃఆ 2. moviePlayback • ಈը࠶ੜʹ࠷దԽʢ48kHzʣ • όοϑΝαΠζΛେ͖͘ઃఆ • ಈըϓϨʔϠʔΞϓϦ޲͚ 3. videoRecording • ߴԻ࣭࿥Իʢ96kHzʣ • ࠷খݶͷϨΠςϯγʔ • ΧϝϥΞϓϦͷ࿥ըػೳ޲͚ 4.voiceChat/videoChat • ΤίʔΩϟϯηϧػೳ • ௿ϨΠςϯγʔઃఆ • ௨࿩ΞϓϦɺϏσΦձٞ޲͚ 5.gameChat • ήʔϜޮՌԻͱͷཱ྆ • ௿ϨΠςϯγʔ • ϚϧνϓϨΠϠʔήʔϜ޲͚ 6.measurement • ৴߸ॲཧΛ࠷খݶʹ • ਖ਼֬ͳԻ੠ଌఆ༻ • Ի੠෼ੳΞϓϦ޲͚ 7.spokenAudio • Ի੠໌ྎ౓ॏࢹ • ϙουΩϟετɺΦʔσΟΦϒοΫ޲͚ • Ի੠ίϯςϯπ࠶ੜ༻

Slide 19

Slide 19 text

AVAudioSession Mode 1. default • جຊతͳԻ੠࠶ੜ༻ • ಛผͳ࠷దԽͳ͠ • ҰൠతͳΞϓϦͷඪ४ઃఆ 2. moviePlayback • ಈը࠶ੜʹ࠷దԽʢ48kHzʣ • όοϑΝαΠζΛେ͖͘ઃఆ • ಈըϓϨʔϠʔΞϓϦ޲͚ 3. videoRecording • ߴԻ࣭࿥Իʢ96kHzʣ • ࠷খݶͷϨΠςϯγʔ • ΧϝϥΞϓϦͷ࿥ըػೳ޲͚ 4.voiceChat/videoChat • ΤίʔΩϟϯηϧػೳ • ௿ϨΠςϯγʔઃఆ • ௨࿩ΞϓϦɺϏσΦձٞ޲͚ 5.gameChat • ήʔϜޮՌԻͱͷཱ྆ • ௿ϨΠςϯγʔ • ϚϧνϓϨΠϠʔήʔϜ޲͚ 6.measurement • ৴߸ॲཧΛ࠷খݶʹ • ਖ਼֬ͳԻ੠ଌఆ༻ • Ի੠෼ੳΞϓϦ޲͚ 7.spokenAudio • Ի੠໌ྎ౓ॏࢹ • ϙουΩϟετɺΦʔσΟΦϒοΫ޲͚ • Ի੠ίϯςϯπ࠶ੜ༻

Slide 20

Slide 20 text

AVAudioSession Mode 1. default • جຊతͳԻ੠࠶ੜ༻ • ಛผͳ࠷దԽͳ͠ • ҰൠతͳΞϓϦͷඪ४ઃఆ 2. moviePlayback • ಈը࠶ੜʹ࠷దԽʢ48kHzʣ • όοϑΝαΠζΛେ͖͘ઃఆ • ಈըϓϨʔϠʔΞϓϦ޲͚ 3. videoRecording • ߴԻ࣭࿥Իʢ96kHzʣ • ࠷খݶͷϨΠςϯγʔ • ΧϝϥΞϓϦͷ࿥ըػೳ޲͚ 4.voiceChat/videoChat • ΤίʔΩϟϯηϧػೳ • ௿ϨΠςϯγʔઃఆ • ௨࿩ΞϓϦɺϏσΦձٞ޲͚ 5.gameChat • ήʔϜޮՌԻͱͷཱ྆ • ௿ϨΠςϯγʔ • ϚϧνϓϨΠϠʔήʔϜ޲͚ 6.measurement • ৴߸ॲཧΛ࠷খݶʹ • ਖ਼֬ͳԻ੠ଌఆ༻ • Ի੠෼ੳΞϓϦ޲͚ 7.spokenAudio • Ի੠໌ྎ౓ॏࢹ • ϙουΩϟετɺΦʔσΟΦϒοΫ޲͚ • Ի੠ίϯςϯπ࠶ੜ༻ 1. ໾ׂɿ • ΞϓϦͱOS/ϋʔυ΢ΣΞؒͷڮ౉͠ • ΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻͑Δ 2. ಛ௃ɿ • ۩ମతͳಈ࡞΍ϋʔυ΢ΣΞͱͷৄࡉͳ΍ΓऔΓΛࢦఆ͢Δඞཁ͕ͳ͍ • ͦΕΒͷৄࡉͳ؅ཧ͸ΦʔσΟΦηογϣϯʹҕ೚͞ΕΔ 3. ϝϦοτɿ • OS͕ϢʔβʔͷΦʔσΟΦମݧΛ࠷దʹ؅ཧͰ͖Δ • ։ൃऀ͸௿Ϩϕϧͷ࣮૷ৄࡉΛؾʹ͢Δඞཁ͕ͳ͍ ͲΜͳΞϓϦʹ͢Δ͔ʁ ར༻༻్ͰϞʔυΛબͿ

Slide 21

Slide 21 text

AVAudio Option 1. mixWithOthers • ଞΞϓϦͱͷԻ੠ϛΩγϯάΛڐՄ • BGM࠶ੜதʹޮՌԻΛ௥Ճ͢Δ৔߹ͳͲʹ࢖༻ • ambient, playback, playAndRecordΧςΰϦͰ࢖༻Մ ೳ 2. duckOthers • ࣗΞϓϦͷԻ੠࠶ੜ࣌ʹଞΞϓϦͷԻྔΛࣗಈతʹԼ ͛Δ • φϏήʔγϣϯΞϓϦͷҊ಺Ի੠ͳͲͰ࢖༻ • playback, playAndRecordΧςΰϦͰ࢖༻Մೳ 3. interruptSpokenAudioAndMixWithOthers • Ի੠ίϯςϯπʢϙουΩϟετͳͲʣΛதஅΛ͢Δ • .mixWithOthersͷ֦ுΦϓγϣϯ • φϏήʔγϣϯΞϓϦͳͲͰ࢖༻ 4. allowBluetooth • BluetoothϔουηοτʢHFP/HSPʣͱͷ઀ଓΛڐՄ • ௨࿩΍ϘΠενϟοτ༻ • playAndRecordΧςΰϦͰओʹ࢖༻ 5. allowBluetoothA2DP • BluetoothεςϨΦΦʔσΟΦʢA2DPʣͷ࢖༻ΛڐՄ • ߴ඼࣭ͳԻָ࠶ੜ༻ • playback, playAndRecordΧςΰϦͰ࢖༻Մೳ 6. allowAirPlay • AirPlayσόΠε΁ͷग़ྗΛڐՄ • ϫΠϠϨε࠶ੜ༻ • playback, playAndRecordΧςΰϦͰ࢖༻Մೳ 7. defaultToSpeaker • ಺ଂεϐʔΧʔΛ༏ઌతʹ࢖༻ • ϏσΦ௨࿩΍ϘΠενϟοτͰ࢖༻ • playAndRecordΧςΰϦͰओʹ࢖༻

Slide 22

Slide 22 text

AVAudio Option 1. mixWithOthers • ଞΞϓϦͱͷԻ੠ϛΩγϯάΛڐՄ • BGM࠶ੜதʹޮՌԻΛ௥Ճ͢Δ৔߹ͳͲʹ࢖༻ • ambient, playback, playAndRecordΧςΰϦͰ࢖༻Մ ೳ 2. duckOthers • ࣗΞϓϦͷԻ੠࠶ੜ࣌ʹଞΞϓϦͷԻྔΛࣗಈతʹԼ ͛Δ • φϏήʔγϣϯΞϓϦͷҊ಺Ի੠ͳͲͰ࢖༻ • playback, playAndRecordΧςΰϦͰ࢖༻Մೳ 3. interruptSpokenAudioAndMixWithOthers • Ի੠ίϯςϯπʢϙουΩϟετͳͲʣΛதஅΛ͢Δ • .mixWithOthersͷ֦ுΦϓγϣϯ • φϏήʔγϣϯΞϓϦͳͲͰ࢖༻ 4. allowBluetooth • BluetoothϔουηοτʢHFP/HSPʣͱͷ઀ଓΛڐՄ • ௨࿩΍ϘΠενϟοτ༻ • playAndRecordΧςΰϦͰओʹ࢖༻ 5. allowBluetoothA2DP • BluetoothεςϨΦΦʔσΟΦʢA2DPʣͷ࢖༻ΛڐՄ • ߴ඼࣭ͳԻָ࠶ੜ༻ • playback, playAndRecordΧςΰϦͰ࢖༻Մೳ 6. allowAirPlay • AirPlayσόΠε΁ͷग़ྗΛڐՄ • ϫΠϠϨε࠶ੜ༻ • playback, playAndRecordΧςΰϦͰ࢖༻Մೳ 7. defaultToSpeaker • ಺ଂεϐʔΧʔΛ༏ઌతʹ࢖༻ • ϏσΦ௨࿩΍ϘΠενϟοτͰ࢖༻ • playAndRecordΧςΰϦͰओʹ࢖༻ 1. ໾ׂɿ • ΞϓϦͱOS/ϋʔυ΢ΣΞؒͷڮ౉͠ • ΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻͑Δ 2. ಛ௃ɿ • ۩ମతͳಈ࡞΍ϋʔυ΢ΣΞͱͷৄࡉͳ΍ΓऔΓΛࢦఆ͢Δඞཁ͕ͳ͍ • ͦΕΒͷৄࡉͳ؅ཧ͸ΦʔσΟΦηογϣϯʹҕ೚͞ΕΔ 3. ϝϦοτɿ • OS͕ϢʔβʔͷΦʔσΟΦମݧΛ࠷దʹ؅ཧͰ͖Δ • ։ൃऀ͸௿Ϩϕϧͷ࣮૷ৄࡉΛؾʹ͢Δඞཁ͕ͳ͍ ΧςΰϦʹΑͬͯͲͷΑ͏ͳΦϓ γϣϯ͕࢖͑Δ͔Θ͔Δ

Slide 23

Slide 23 text

AVAudioSessionͷઃఆ try audioSession.setCategory(.soloAmbient, mode: .default, options: []) try audioSession.setActive(true) Category Mode Options

Slide 24

Slide 24 text

AVAudioSessionͷઃఆ try audioSession.setCategory(.soloAmbient, mode: .default, options: []) try audioSession.setActive(true) Category Mode Options 1. ໾ׂɿ • ΞϓϦͱOS/ϋʔυ΢ΣΞؒͷڮ౉͠ • ΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻͑Δ 2. ಛ௃ɿ • ۩ମతͳಈ࡞΍ϋʔυ΢ΣΞͱͷৄࡉͳ΍ΓऔΓΛࢦఆ͢Δඞཁ͕ͳ͍ • ͦΕΒͷৄࡉͳ؅ཧ͸ΦʔσΟΦηογϣϯʹҕ೚͞ΕΔ 3. ϝϦοτɿ • OS͕ϢʔβʔͷΦʔσΟΦମݧΛ࠷దʹ؅ཧͰ͖Δ • ։ൃऀ͸௿Ϩϕϧͷ࣮૷ৄࡉΛؾʹ͢Δඞཁ͕ͳ͍ ͲΜͳΞϓϦʹ͢Δ͔ʁ ར༻༻్͕෼͔Ε͹ɺ AVAudioSessionͷઃఆ͕Θ͔Δ

Slide 25

Slide 25 text

Ͱ͸Έͳ͞Μ͜Ε͸Ͳ͏ͳΔͰ͠ΐ͏ʁ try audioSession.setCategory(.playback, mode: .videoRecording) try audioSession.setActive(true)

Slide 26

Slide 26 text

A.ઃఆͰ͖·͢ try audioSession.setCategory(.playback, mode: .videoRecording) try audioSession.setActive(true)

Slide 27

Slide 27 text

Ͱ͸Έͳ͞Μ͜Ε͸Ͳ͏ͳΔͰ͠ΐ͏ʁ try audioSession.setCategory(.playback, mode: .videoRecording) try audioSession.setActive(true) 1. ໾ׂɿ • ΞϓϦͱOS/ϋʔυ΢ΣΞؒͷڮ౉͠ • ΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻͑Δ 2. ಛ௃ɿ • ۩ମతͳಈ࡞΍ϋʔυ΢ΣΞͱͷৄࡉͳ΍ΓऔΓΛࢦఆ͢Δඞཁ͕ͳ͍ • ͦΕΒͷৄࡉͳ؅ཧ͸ΦʔσΟΦηογϣϯʹҕ೚͞ΕΔ 3. ϝϦοτɿ • OS͕ϢʔβʔͷΦʔσΟΦମݧΛ࠷దʹ؅ཧͰ͖Δ • ։ൃऀ͸௿Ϩϕϧͷ࣮૷ৄࡉΛؾʹ͢Δඞཁ͕ͳ͍ ͋Γ͑ͳ͍૊Έ߹ΘͤΛઃఆͰ͖ͪΌ͍·͢ɻ ΞϓϦར༻࣌ʹෆ౎߹͕͋Δ͜ͱ͕͋Γ·͢ɻ

Slide 28

Slide 28 text

ࣗ෼ͷΞϓϦͰͲΜͳ༻్Ͱ࢖͍͍͔ͨ ֬ೝͯ͠ద੾ͳઃఆΛ࢖͏ͱ҆શͰ͢Ͷ αϯϓϧΞϓϦ

Slide 29

Slide 29 text

https://developer.apple.com/documentation/avfaudio/avaudiosession/4485079-preferredmicrophoneinjectionmode?changes=latest_major ͓·͚

Slide 30

Slide 30 text

·ͱΊ •AudioSessionͰΞϓϦͷΦʔσΟΦͷҰൠతͳੑ࣭ΛOSʹ఻ ͑Δ͜ͱͰɺ։ൃऀ͸ΦʔσΟΦϋʔυ΢ΣΞͱͷ۩ମΛઃఆ ͢ΔΛ͜ͱͳ͘Ի੠Λར༻Ͱ͖Δ •ࣗ෼ͷΞϓϦ͕ͲΜͳ༻్ͰԻ੠Λར༻͢Δͷ͔ཧղͯ͠ઃ ఆ͠·͠ΐ͏ •AudioSessionͷઃఆ͸͋Γ͑ͳ͍ύλʔϯͰ΋ઃఆͰ͖ͯ͠ ·͏ͷͰɺࣗ෼ͷΞϓϦͰ࢖͏ύλʔϯΛ༻ҙ͓ͯ͘͠ͱ҆શ ʹ࢖͑·͢