[iOS] 2022 New HIG Playing audio 공식문서 정리 - Lawn

Lawn·2022년 9월 11일
1
post-thumbnail

안녕하세요 🌱 Lawn입니다 새롭게 바뀐 2022년 NEW HIG를 Study를 통해 공부하며 정리하는 중입니다.

🎈 HIG Study with

👨🏻‍💻 Halgen
👩‍💻 Dana


🌱 Playing audio

사람들은 장치에서 컨텍스트가 변경될 때 자동으로 조정되는 풍부한 오디오 경험을 기대합니다.

장치는 내부 또는 외부 스피커, 헤드폰, Bluetooth 또는 AirPlay 지원 장치를 통한 무선과 같은 다양한 방법으로 오디오를 재생할 수 있습니다. 장치의 사운드를 조작하기 위해 사람들은 볼륨 버튼, iPhone의 벨소리/무음 스위치, 헤드폰 컨트롤, 제어 센터 볼륨 슬라이더 및 타사 액세서리의 사운드 컨트롤을 비롯한 여러 유형의 컨트롤을 사용합니다. 사운드가 경험의 주요 부분이든 장식이든, 볼륨과 출력을 변경할 때 사람들이 기대하는 대로 작동하는지 확인해야 합니다.

Silence(고요) 사람들은 벨소리 및 수신 메시지 톤과 같은 예기치 않은 소리에 방해받지 않으려면 장치를 무음으로 전환합니다. 이 시나리오에서 그들은 또한 키보드 클릭, 음향 효과, 게임 사운드트랙 및 기타 가청 피드백과 같은 불필요한 소리를 무음 처리하기를 원합니다. 기기가 무음 모드일 때 미디어 재생, 알람, 오디오/비디오 메시징과 같이 사람들이 명시적으로 시작한 오디오만 재생해야 합니다.

Volume(용량) 사람들은 볼륨 조정에 사용하는 방법에 관계없이 볼륨 설정이 음악 및 인앱 사운드 효과를 포함한 시스템의 모든 사운드에 영향을 줄 것으로 기대합니다. iPhone의 벨소리 볼륨은 예외로 설정에서 별도로 조정할 수 있습니다.

Headphones(헤드폰) 사람들은 헤드폰을 사용하여 청취를 비공개로 유지하고 손을 자유롭게 합니다. 헤드폰을 연결하면 사용자는 사운드가 중단 없이 자동으로 다시 라우팅되기를 기대합니다. 헤드폰을 뽑을 때 재생이 즉시 일시 중지될 것으로 예상합니다.


🍀 Best practices

필요한 경우 레벨을 자동으로 조정합니다. 전체 볼륨을 조정하지 마십시오. 앱은 오디오의 훌륭한 혼합을 달성하기 위해 상대적이고 독립적인 볼륨 레벨을 조정할 수 있지만 시스템 볼륨은 항상 최종 출력을 제어해야 합니다.

가능한 경우 오디오 경로 재지정을 허용합니다. 사람들은 종종 다른 오디오 출력 장치를 선택하고 싶어합니다. 예를 들어, 거실 스테레오, 자동차 라디오 또는 Apple TV를 통해 음악을 듣고 싶을 수 있습니다. 강력한 이유가 없는 한 이 기능을 지원하십시오.

시스템에서 제공하는 볼륨 보기를 사용하여 사람들이 오디오를 조정할 수 있도록 합니다. 볼륨 보기에는 볼륨 레벨 슬라이더와 오디오 출력 경로를 변경하기 위한 컨트롤이 포함되어 있습니다. 슬라이더의 모양을 사용자 정의할 수 있습니다.

🧑🏻‍💻 Developer guidance
MPVolumeView

앱이나 게임에서 사운드를 사용하는 방식에 맞는 오디오 카테고리를 선택하세요. 선택한 오디오 카테고리에 따라 앱의 사운드가 다른 오디오와 혼합되거나 앱이 백그라운드에 있는 동안 재생되거나 사람들이 벨소리/무음 스위치를 무음으로 설정하면 중지될 수 있습니다. 가능한 한 앱이 사람들의 기대를 충족시키는 데 도움이 되는 카테고리를 선택하세요. 예를 들어 필요하지 않은 경우 사람들이 다른 앱의 음악 듣기를 중단하도록 하지 마십시오.

🧑🏻‍💻 Developer guidance
AVAudioSession.Category

타당한 경우에만 오디오 컨트롤에 응답하십시오. 사람들은 앱이 전경에 있는지 배경에 있는지에 관계없이 제어 센터 또는 헤드폰의 컨트롤과 같은 앱 인터페이스 외부에서 오디오 재생을 제어할 수 있습니다. 앱이 명확한 오디오 관련 컨텍스트에서 오디오를 적극적으로 재생하거나 Bluetooth 또는 AirPlay 지원 장치에 연결된 경우 오디오 컨트롤에 응답하는 것이 좋습니다. 그렇지 않으면 사람들이 컨트롤을 활성화할 때 다른 앱에서 현재 재생 중인 것을 중단하지 마십시오.

오디오 컨트롤의 용도를 변경하지 마십시오. 사람들은 오디오 컨트롤이 모든 앱에서 일관되게 작동하기를 기대하므로 앱에서 오디오 컨트롤의 의미를 재정의하지 않는 것이 중요합니다. 앱이 특정 컨트롤을 지원하지 않는 경우 해당 컨트롤에 응답하지 마십시오.

시스템에서 지원하지 않는 명령을 제공해야 하는 경우에만 사용자 지정 오디오 플레이어 컨트롤을 만드는 것이 좋습니다. 예를 들어 앞으로 또는 뒤로 건너뛰기 위한 사용자 지정 증분을 정의하거나 스포츠 점수와 같은 재생 오디오와 관련된 콘텐츠를 표시할 수 있습니다.

앱에서 임시 오디오 재생을 마치면 다른 앱에 알립니다. 앱이 다른 앱의 오디오를 일시적으로 중단할 수 있는 경우 다른 앱이 언제 다시 시작할 수 있는지 알 수 있도록 오디오 세션에 플래그를 지정해야 합니다.

🧑🏻‍💻 Developer guidance
notifyOthersOnDeactivation


🍀 Handling interruptions

대부분의 앱과 게임은 시스템의 기본 중단 동작에 의존하지만 요구 사항을 더 잘 수용하도록 이 동작을 사용자 지정할 수 있습니다.

오디오 세션 중단에 대응하는 방법을 결정합니다. 예를 들어 앱에서 사람들이 방해받고 싶지 않은 녹음이나 기타 오디오 관련 작업을 활성화하는 경우 사람들이 수락하도록 선택하지 않는 한 수신 전화에 대해 현재 재생 중인 오디오를 중단하지 않도록 시스템에 지시할 수 있습니다. 또 다른 예는 VoIP 앱으로, 사람들이 내장 마이크를 사용하는 동안 iPad의 Smart Folio를 닫으면 통화를 종료해야 합니다. Smart Folio를 닫으면 iPad 마이크가 자동으로 음소거되고 기본적으로 연결된 오디오 세션이 중단됩니다. 사람들이 Smart Folio를 다시 열 때 VoIP 앱이 오디오 세션을 다시 시작하면 자신도 모르게 마이크를 다시 활성화하여 사람들의 개인 정보를 침해할 위험이 있습니다. 오디오 세션 중단을 검사하여 올바른 응답 방법을 결정할 수 있습니다.

🧑🏻‍💻 Developer guidance
Responding to audio session interruptions

중단이 끝나면 오디오 재생을 자동으로 재개할지 여부를 결정합니다. 경우에 따라 다른 앱의 오디오가 앱에서 재생 중인 오디오를 중단할 수 있습니다. 방해는 수신 전화와 같이 재개 할 수 있거나 사람들이 새 음악 재생 목록을 시작할 때와 같이 재개할 수 없습니다. 중단 유형과 앱 유형을 사용하여 자동으로 재생을 재개할지 여부를 결정합니다. 예를 들어 중단이 발생했을 때 적극적으로 오디오를 재생하는 미디어 재생 앱은 중단이 끝날 때 재생을 계속하기 전에 유형이 재개 가능한지 확인할 수 있습니다. 반면에 게임은 사용자의 명시적인 선택 없이 오디오를 재생하기 때문에 자동으로 재생을 재개하기 전에 중단 유형을 확인할 필요가 없습니다.

🧑🏻‍💻 Developer guidance
shouldResume


📱 Platform considerations

iOS, iPadOS

시스템의 사운드 서비스를 사용하여 짧은 소리와 진동을 재생합니다.

🧑🏻‍💻 Developer guidance
Audio Services

Mac OS

macOS에서 알림 소리는 기본적으로 다른 오디오와 혼합됩니다.

tvOS

tvOS에서 시스템은 앱과 게임 내 상호 작용을 통해 또는 장치 보정을 수행할 때 사람들이 시작할 때만 오디오를 재생합니다. 예를 들어, tvOS는 경고나 알림과 같은 구성 요소와 함께 소리를 재생하지 않습니다.

watchOS

watchOS에서 시스템은 오디오 재생을 관리합니다. 앱은 활성화되어 전경에서 실행되는 동안 짧은 오디오 클립을 재생하거나 사람들이 손목을 낮추거나 다른 앱으로 전환하는 경우에도 계속되는 더 긴 오디오를 재생할 수 있습니다.

🧑🏻‍💻 Developer guidance
Playing background audio

미디어 자산에 권장되는 인코딩 값을 사용하십시오. 특히 64kbps HE-AAC(고효율 고급 오디오 코딩) 형식을 사용하여 데이터 요구 사항이 낮은 고품질 오디오를 생성합니다.

사람들이 앱을 떠나지 않고도 현재 또는 최근에 재생한 오디오를 제어할 수 있도록 Now Playing 보기를 제공하는 것을 고려하십시오. 시스템에서 제공하는 Now Playing 보기는 현재 오디오 소스(사람의 Apple Watch 또는 iPhone의 다른 앱일 수 있음)에 대한 정보도 표시하고 현재 또는 가장 최근에 사용한 소스를 자동으로 선택합니다.

🧑🏻‍💻 Developer guidance
Adding a Now Playing view


📚 Resources

Related
Playing video
Feedback

Developer documentation
AVAudioSession

📀 Videos

WWDC21 - Immerse your app in spatial audio

profile
안녕하세요 글쓰는 🌱풀떼기 입니다.

0개의 댓글