MPMoviePlayerController
을 사용하여 비디오를 재생하고 싶지만 뮤트 스위치를 무시하고 싶습니다. 유튜브의 비디오 플레이어 동작과 유사합니다.MPMoviePlayerController가 뮤트 스위치를 무시하는 방법
아이디어가 있으십니까?
MPMoviePlayerController
을 사용하여 비디오를 재생하고 싶지만 뮤트 스위치를 무시하고 싶습니다. 유튜브의 비디오 플레이어 동작과 유사합니다.MPMoviePlayerController가 뮤트 스위치를 무시하는 방법
아이디어가 있으십니까?
카테고리 AVAudioSessionCategoryPlayback
을 사용하면 앱이 YouTube 앱과 같은 음소거 스위치를 무시합니다. (코멘트에 켄 Pletzer에서 영감) 예를 들어
:
#import <AVFoundation/AVFoundation.h>
// note: you also need to add AVfoundation.framework to your project's
// list of linked frameworks
NSError *error = nil;
BOOL success = [[AVAudioSession sharedInstance]
setCategory:AVAudioSessionCategoryPlayback
error:&error];
if (!success) {
// Handle error here, as appropriate
}
당신이 AVFoundation은 당신의 위임에 넣고 가져온 후
좀 더 구체적으로 NSError* error; [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &error]; if(error) { }
–
또한 AVFoundation 프레임 워크와 #import "AVFoundation/AVAudioSession.h"를 추가해야합니다. –
@KenPletzer 감사합니다 Ken, 귀하의 의견에 감사드립니다. 나는 당신의 코드 (에러의 존재 가치 라기보다는 성공의 가치를 확인하라)에 약간의 비틀기를가했고 대답에 넣었다. –
_player.useApplicationAudioSession = NO;
iOS6에서 더 이상 사용되지 않습니다 – tassock
속성 사용을위한 다른 대안 ApplicationAppudioSession? apple에는 useApplicationAudioSession에 대한 대체 속성이 없다는 것을 알았습니다. ( –
:
[[AVAudioSession sharedInstance] setCategory : AVAudioSessionCategoryPlayback 오류 : nil]; 스위프트의
: 당신이 미래에 누군가를 위해
do{
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
} catch {
//Didn't work
}
(응용 프로그램의 시작 부분에 예를 들어) 사운드/비디오를 재생하기 전에 한 번, 나는이 이미 답을 알지만, 내가 가진이 작업을 수행 내 앱에서 비디오를 재생하여 문제가되는 앱을 발견하고 YouTube 등에서 오디오 재생을 중지하면 다음과 같이 끝납니다.
NSError *silentSwitcherror = nil;
BOOL silentSwitchSuccess = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&silentSwitcherror];
if (silentSwitchSuccess)
{
//put whatever video code you are trying to play
}
else
{
//put how to handle failed instances.
}
이 질문은 커뮤니티에 의해 보호되어야합니다. – JJ86