【Swift】AudioToolbox에 대해서
6082 단어 iOSSwift프로그래밍AudioToolboxXcode
소개
이번에는 녹음, 재생, 음성을 다룰 때 사용되는 프레임워크인 AudioToolbox에 대해 쓰고 싶습니다.
AVFoundation과의 차이
사운드를 재생할 때 프레임 워크로 AVFoundation이 있습니다. 이 두 가지 차이점을 간략하게 설명합니다.
AVFoundation : BGM과 같은 비디오 재생 (AVAudioPlayer)
AudioToolbox: 효과음과 같은 음원 재생
AudioToolbox
우선 문서를 읽어 보겠습니다.
AudioToolbox
문서에는 Record or play audio, convert formats, parse audio streams, and configure your audio session.
라고 쓰여져 있습니다.
번역하면 オーディオの録音または再生、フォーマットの変換、オーディオストリームの解析、およびオーディオセッションの構成
입니다.
즉, 사운드 재생이나 진동 를 사용자에게 통지하기 위한 프레임워크라고 하는 것이군요.
모처럼이므로, 간단하게 소리를 울려 놀아 봅시다.
이번 사용하는 것 이외에도 여기 에서 다양한 음원을 선택할 수 있습니다!
따라서 적절한 수만큼 버튼을 준비하십시오. (버튼 번호는 SystemSoundID로 설정했습니다)
ViewController에 다음과 같이 설명합니다.
@IBAction func button1DidTapped(_ sender: Any) {
sound(id: 1000)
}
@IBAction func button2DidTapped(_ sender: Any) {
sound(id: 1010)
}
@IBAction func button3DidTapped(_ sender: Any) {
sound(id: 1050)
}
@IBAction func button4DidTapped(_ sender: Any) {
sound(id: 1201)
}
@IBAction func button5DidTapped(_ sender: Any) {
sound(id: 1310)
}
@IBAction func button6DidTapped(_ sender: Any) {
sound(id: 1336)
}
@IBAction func button7DidTapped(_ sender: Any) {
sound(id: 4095)
}
private func sound(id: SystemSoundID) {
var id = id
if let soundUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), nil, nil, nil) {
AudioServicesCreateSystemSoundID(soundUrl, &id)
AudioServicesPlaySystemSound(id)
}
}
다양한 음원을 울려보세요!
결론
이번에는 AudioToolbox에 대해 썼습니다. 소리를 다룰 수 있으면 개발의 폭도 퍼질 것 같네요!
Reference
이 문제에 관하여(【Swift】AudioToolbox에 대해서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/REON/items/a7cdd2cb905ac7b86094
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사운드를 재생할 때 프레임 워크로 AVFoundation이 있습니다. 이 두 가지 차이점을 간략하게 설명합니다.
AVFoundation : BGM과 같은 비디오 재생 (AVAudioPlayer)
AudioToolbox: 효과음과 같은 음원 재생
AudioToolbox
우선 문서를 읽어 보겠습니다.
AudioToolbox
문서에는 Record or play audio, convert formats, parse audio streams, and configure your audio session.
라고 쓰여져 있습니다.
번역하면 オーディオの録音または再生、フォーマットの変換、オーディオストリームの解析、およびオーディオセッションの構成
입니다.
즉, 사운드 재생이나 진동 를 사용자에게 통지하기 위한 프레임워크라고 하는 것이군요.
모처럼이므로, 간단하게 소리를 울려 놀아 봅시다.
이번 사용하는 것 이외에도 여기 에서 다양한 음원을 선택할 수 있습니다!
따라서 적절한 수만큼 버튼을 준비하십시오. (버튼 번호는 SystemSoundID로 설정했습니다)
ViewController에 다음과 같이 설명합니다.
@IBAction func button1DidTapped(_ sender: Any) {
sound(id: 1000)
}
@IBAction func button2DidTapped(_ sender: Any) {
sound(id: 1010)
}
@IBAction func button3DidTapped(_ sender: Any) {
sound(id: 1050)
}
@IBAction func button4DidTapped(_ sender: Any) {
sound(id: 1201)
}
@IBAction func button5DidTapped(_ sender: Any) {
sound(id: 1310)
}
@IBAction func button6DidTapped(_ sender: Any) {
sound(id: 1336)
}
@IBAction func button7DidTapped(_ sender: Any) {
sound(id: 4095)
}
private func sound(id: SystemSoundID) {
var id = id
if let soundUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), nil, nil, nil) {
AudioServicesCreateSystemSoundID(soundUrl, &id)
AudioServicesPlaySystemSound(id)
}
}
다양한 음원을 울려보세요!
결론
이번에는 AudioToolbox에 대해 썼습니다. 소리를 다룰 수 있으면 개발의 폭도 퍼질 것 같네요!
Reference
이 문제에 관하여(【Swift】AudioToolbox에 대해서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/REON/items/a7cdd2cb905ac7b86094
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@IBAction func button1DidTapped(_ sender: Any) {
sound(id: 1000)
}
@IBAction func button2DidTapped(_ sender: Any) {
sound(id: 1010)
}
@IBAction func button3DidTapped(_ sender: Any) {
sound(id: 1050)
}
@IBAction func button4DidTapped(_ sender: Any) {
sound(id: 1201)
}
@IBAction func button5DidTapped(_ sender: Any) {
sound(id: 1310)
}
@IBAction func button6DidTapped(_ sender: Any) {
sound(id: 1336)
}
@IBAction func button7DidTapped(_ sender: Any) {
sound(id: 4095)
}
private func sound(id: SystemSoundID) {
var id = id
if let soundUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), nil, nil, nil) {
AudioServicesCreateSystemSoundID(soundUrl, &id)
AudioServicesPlaySystemSound(id)
}
}
이번에는 AudioToolbox에 대해 썼습니다. 소리를 다룰 수 있으면 개발의 폭도 퍼질 것 같네요!
Reference
이 문제에 관하여(【Swift】AudioToolbox에 대해서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/REON/items/a7cdd2cb905ac7b86094텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)