Ben*_*vic 5 iphone volume objective-c mpmediaquery avplayer
我目前正在尝试使用AVPlayer从手机本地iPod库播放音乐,而不是使用应用程序控制器播放MPMusicPlayerController.
我可以使用和MPMediaQuery从本地iPod lib中选择一个曲目,但是当我尝试使用AVMutableAudioMixInputParameters在较低级别启动音频时,它似乎根本不会降低音量.
我使用AVPlayer而不是MPMusicPlayerController的原因是我在后台同时播放其他音频而MPMusicPlayerController无法播放,因为使用AVPlayer的现有音频文件正在占用硬件.我目前的代码是:
// just blindly select all music for now.
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
NSArray *itemsFromGenericQuery = [everything items];
MPMediaItem *song;
NSMutableArray *array = [[NSMutableArray alloc] init];
for (song in itemsFromGenericQuery)
{
[array addObject:song];
}
Run Code Online (Sandbox Code Playgroud)
所以此时数组是我的lib中的一个轨道数组.
现在抓住一个并使用AVPlayer播放它:
// grab the first song off the array
MPMediaItem *song = [array objectAtIndex:0];
NSURL *assetURL = [song valueForProperty:MPMediaItemPropertyAssetURL];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:assetURL options:nil];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
AVAssetTrack *track = [audioTracks objectAtIndex:0];
NSMutableArray *allAudioParams = [NSMutableArray array];
AVMutableAudioMixInputParameters *audioInputParams =
[AVMutableAudioMixInputParameters audioMixInputParameters];
// this is the key line - turn the volume down.
[audioInputParams setVolume:0.3 atTime:kCMTimeZero];
[audioInputParams setTrackID:[track trackID]];
[allAudioParams addObject:audioInputParams];
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];
// Create a player item
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
[playerItem setAudioMix:audioZeroMix];
[playerItem seekToTime:CMTimeMake(30, 1)];
[self setLocalPlayer:[AVPlayer playerWithPlayerItem:playerItem]];
[localPlayer play];
Run Code Online (Sandbox Code Playgroud)
我可以确认,当使用AVPlayer从URL播放文件时,调整音量是有效的(流媒体); 只是不是从当地图书馆玩.
我意识到我这里没有做任何内存管理; 只是想让它先工作.此外,本地玩家是一个属性,所以没有明确的保留.
任何帮助将不胜感激!
谢谢.
您是否尝试过将 kCMTimeZero 替换为 CMTimeMakeWithSeconds(0,1),或者只是 0?
如果仍然失败,请尝试淡入/淡出效果并将开始时间和结束时间设置为 0。
| 归档时间: |
|
| 查看次数: |
2648 次 |
| 最近记录: |