[英]iOS fade audio on app low memory warning
我正在尋找一種方法,在殺死音頻播放器之前,使用didReceiveMemoryWarning
淡出應用程序中播放的音樂。 我想淡化音樂並從內存中刪除播放器,而又不影響系統的音量(或至少在完成后重置系統音量。)我只需要支持iOS 5+。
我在這里問這個問題的原因是:
有沒有一種可以使iPhone的音頻褪色的方法?
如果您確實找到了至少可以訪問播放器的方法,可以通過以下兩種方法來完成。
在while-loop
運行
-(void)fadeOut
{
while (data.volume > 0) {
data.volume = data.volume - 0.1;
}
[data stop];
data = nil;
}
或者,使用計時器:
- (void)fadeOutWithTimer
{
if (data.volume > 0.1) {
data.volume = data.volume - 0.1;
[self performSelector:@selector(fadeOutWithTimer) withObject:nil afterDelay:0.05];
} else {
[data stop];
data = nil;
}
}
在允許的API范圍內,只有用戶可以控制系統容量。 您的應用無法調整它。 如您所述,在應用商店中將不允許訪問這些其他API,並且可能需要越獄設備。
您正在使用哪個第三方框架? 您是否可以查看其內部是否使用了標准音頻播放器,例如AVAudioPlayer
? 如果是這樣,您可以用這種方式進行修改。
更新:正如Randy指出的那樣,您實際上可以通過控制iPod的音量來做到這一點:
[[MPMusicPlayerController iPodMusicPlayer] setVolume:0.05];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.