音楽が再生されているかどうかを検出していますか?
-
20-09-2019 - |
質問
私のアプリには音楽(iPodMusic)が含まれており、再生/一時停止を切り替えるUISwitchがあります。私の目標は、音楽が再生されているかどうかを検出できるようにして、音楽が再生されている場合は再生/一時停止スイッチが「再生」、そうでない場合は「一時停止」と表示できるようにすることです。
解決
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...
他のヒント
音楽が独自のアプリからのものである場合は、チェックを入れてください AVオーディオプレーヤーの playing
財産.
音楽が iPod からのものである場合は、チェックを入れてください MPMusicPlayerController の nowPlayingItem
または playbackState
財産。
MPMusicPlayerControllerは、OS 3.0以上でのみ使用可能です。あなたは2.0を実行している場合、あなたは運の出ています。ここでは、3.0以上を実行しているかどうかをチェックするだけにして、
MPMuiscPlayerControllerを作成しようとするコードスニペットですbool playerDetectedAndPlaying = false;
NSString *reqSysVer = @"3.0";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending){
Class MusicPlayerController = NSClassFromString(@"MPMusicPlayerController");
if (MusicPlayerController){
id myMusicPlayerController = [[MusicPlayerController alloc]init];
id MusicPlayer = [[myMusicPlayerController class] iPodMusicPlayer ];
if ( [ MusicPlayer playbackState ] == MPMusicPlaybackStatePlaying ) {
playerDetectedAndPlaying = true;
}
}
}
あなたは3.0 SDKに対してコンパイルする必要がありますが、あなたは2.0にデプロイメント・ターゲットを設定している場合、このコードは、古いデバイス上で実行されます。
それは...あなたのiTunesの音が他にある場合は音がiTunesの音楽プレーヤーのオフであれば、それはなしに行くyesに行くので、あなたは簡単にチェックMusicPlayerサウンドがあなただけのメディアプレーヤフレームワークを追加する必要がオンまたはオフにされているデフォルトすることができます... Thxを....それが正常に動作しますそれを試してみてください。)
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
{
NSLog(@"yes itune Player Sound is on");
}
else
{
NSLog(@"NO itune Player Sound is not on");
}
所属していません StackOverflow