AVQueuePlayer的挫折(缓冲区未运行处理)。
我和Avqueeplayer一起度过了一段时间.很简单,我正在使用PlayerItemwithurl构建的一系列AvplayerItem进行制作:并指向网上服务器上的视频资产. 如果我尝试在刺激器(SIC)中运行此功能,它将通过第一个资产播放,开始播放第二个资产,然后死去.有时甚至没有通过第一个资产. 现在,我知道SIM的行为与设备的行为不同,因此我在设备上也尝试了同样的问题. 当我记录项目上的各种状态时,我会看到缓冲区耗尽,并且玩家死了.对于一个正在播放项目队列的构造对我来说,这似乎有点愚蠢...当然,缓冲区可能会降低,但是为什么它会死去呢? 我做错了什么,还是应该如何表现? 我通过观察加载的属性属性以及更改向玩家发送播放时解决了这个问题.但这会导致口吃的播放,也很烂. 这是我的代码.有人可以告诉我如何在不完整的播放中做到这一点吗? - (void)viewDidLoad { [super viewDidLoad]; [[NS
0 2024-04-04
编程技术问答社区
AVPlayer项目缓冲区为空
我使用播放流内容的Avplayer.我想知道缓冲区空的时间以及准备播放的时间.但是观察者" plokbackbufferempty"和" plokbacklikelyTokeEpup"并不能按需要每次工作.他们有时可以工作,但通常不起作用.我仅在OSX 10.7.5下使用iPad Simulator iOS 6.1. 这是我设置和聆听观察者的方式: - (void)playAudioStream:(NSURL *)audioStreamURL { if(_audioPlayer && _audioPlayer.currentItem) { [_audioPlayer removeObserver:self forKeyPath:StatusKey]; [_audioPlayer.currentItem removeObserver:self forKeyPath:@"playbackBufferEmpty"]; [_audioPlayer.curr
4 2024-04-04
编程技术问答社区
使用蓝牙控制iOS AVPlayer
我正在开发AVPlayer的音乐播放器应用程序. 现在我有要求,我想用Bluetooth设备来控制我的播放器,以用于播放,暂停,下一步和背部. 请指导我,哪些可能的解决方案. 解决方案 要控制远程事件,播放/控制音频的ViewController必须是第一响应者,因此将其添加到ViewDidappear - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; //Make sure the system follows our playback status [[AVAudioSession sharedInstance] setDelegate: self]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sha
0 2024-04-01
编程技术问答社区
使用AVPlayer播放时如何将音频连接到蓝牙上
我正在使用Avplayer从URL播放音频,但是当iPhone连接到蓝牙设备时,它不是通过蓝牙播放的,如果连接到蓝牙,如何通过蓝牙播放,我会看到一些帖子,但是没有,但是没有这些清楚地解释了.以下是我的代码. -(void)playselectedsong{ AVPlayer *player = [[AVPlayer alloc]initWithURL:[NSURL URLWithString:urlString]]; self.songPlayer = player; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerItemDidReachEnd:) n
0 2024-04-01
编程技术问答社区
AVPlayer不能在后台加载媒体
在后台运行时,我对Avplayer的实现无法播放下载的音频(例如播客),但能够播放本地存储的歌曲.仅当手机与我的计算机断开连接时,就没有在后台播放.如果我的手机直接连接到我的计算机/调试器,则任何本地媒体或下载播放的媒体都没有问题.在前景中,玩任何一种媒体类型也没有问题. 这是我的实现: AVPlayer *moviePlayer; AVPlayerItem *playerItem; NSURL *address = /* the url of either a local song or remote media */ if (moviePlayer != nil) { NSLog(@"removing rate, playbackBufferEmpty, playbackLikelyToKeepUp observers before creating new pla
4 2024-03-27
编程技术问答社区
iOS。在后台更新媒体信息
我目前正在使用mpnowplayinginfocenter来显示我的应用程序以显示在播放的歌曲,但我希望将HTTP Live流融合到我的应用程序中,后者将在后台发生许多不同的曲目. 当应用程序在后台时,是否有一种方法可以设置sthowplayinginfo(在一定时间之后调用功能?),即使应用程序从技术上实际上没有在后台运行? ? 还是有一种方法可以使用我的服务器上的简单调用来设置现在的播放信息,该呼叫将返回正确的信息 - 使用返回字符串或图像的API调用? 我知道这是可能的,因为Songza已经完成了,但是也许他们已获得使用Apple的某些私人方法的许可(如果您可以做的话). 解决方案 如果您使用的是AVPlayer类,并且应用程序的主要目的是播放音乐,那么您可以在后台运行它,从而在轨道上更新nowPlayingInfo已更改. 只是一个快速示例: - (void)viewDidLoad { [super viewDidLoad]
0 2024-03-27
编程技术问答社区
iPod-让本地音乐应用程序在后台播放声音
我正在构建iPod的申请. 运行它时,本机iPod音乐应用应该继续在后台播放,但这不是发生. 我认为这可能与我的应用程序播放的声音有关.为了在某​​个时刻播放简短的声音,我正在使用Avaudioplayer.代码看起来像这样: NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"]; NSLog(@"%@", path); player = [[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfFile:path] error:nil]; [player prepareToPlay]; [player play]; 这可以干扰iPod上的本地音乐播放器吗? 还有另一件事.在我的应用中,我已经集成了AdWhirl,并且似乎使用了Audiot
0 2024-03-27
编程技术问答社区
使用AVPlayer进行音频的空中播放在后台不工作
我正在使用远程URL的Avplayer类进行音频播放. 如果我只是播放耳机/内置扬声器,它的效果很好,但是我看到了一些奇怪的播放. 当我更改为APPLETV进行播放时,它将流式传输音频,但是在我的iPhone上,音频播放指示器(顶部菜单栏中的小'Play'三角形)消失了,当我锁定手机而不是在后台继续,它停止了. (正常播放时,它在背景中效果很好). 为什么Avplayer在Airplay上的音频背景中不起作用? 这是其他看到的吗?有办法解决吗? 解决方案 好的 - 我在Apple Dev论坛上挖了一个提示. 如果您仅使用Avplayer进行音频,并且希望在Airplay时它在后台工作,则需要禁用allowsAirPlayVideo设置. 显然,iOS 5+上的Avplayer假设它正在通过Airplay播放视频,因此不允许背景,除非您明确禁用视频Airplay. 禁用此内容(即self.player.allowsAirPlayVideo
0 2024-03-27
编程技术问答社区
AVPlayer。当按下主页按钮时,背景音频停止,但在锁定屏幕时播放
好,所以我的应用程序播放视频,我希望声音继续在后台播放.但是,当我按下"家"按钮时,播放就会停止.我正在使用iOS 5.0.1 在 iPhone 4s上测试 什么有效? 如果视频正在播放并且i 锁屏幕,它会继续播放, 我可以控制锁定屏幕控件的播放:下一个,上一个,播放,暂停. 如果我按" home ",请转到" 遥控器" "从多任务栏",它起作用. 怎么了? 我希望该应用在按下"主页"按钮时继续播放,因为当我这样做时,音频停止. 我做了什么: 在我的app.plist中添加"音频" 将以下代码添加到App委托的应用程序:didfinishlaunchingwithoptions: NSError *setCategoryErr = nil; NSError *activationErr = nil; [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryP
0 2024-03-27
编程技术问答社区
使用Avplayer在后台播放视频
在我的iPhone应用程序中,我想在应用程序进入后台模式时保留播放视频. 我正在使用Avplayer,而没有找到任何在后台播放视频的方法.如果有人能帮助我,我将非常感激. 谢谢 解决方案 感到惊讶,我可以说这可以实现,我只是做到了. 此方法支持所有可能性: 用户锁定的屏幕; 按下主页按钮; 切换到其他应用程序. 只要您拥有AVPlayer运行iOS的实例,可以防止设备的自动锁定. 首先,您需要配置应用程序以支持info.plist文件中添加UIBackgroundModes数组中的音频背景.audio元素. 然后将您的appdelegate.m放入- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions: 中 这些方法 [[AVAudioSession sharedInst
0 2024-03-26
编程技术问答社区
如何让我的AVPlayer在应用程序处于后台时播放?
我已经完成了作业...在这里阅读,文档,谷歌搜索,堆叠式流动...但是当用户使应用程序进入后台时,制作我的声音仍然没有运气. 我到目前为止所做的事情: 添加了uibackgroundmodes,在plist-file中添加了音频. 首先此代码: radioAudio = [[AVAudioSession alloc] init]; [radioAudio setCategory:AVAudioSessionCategoryPlayback error:nil]; [radioAudio setActive:YES error:nil]; 然后: NSString *radioURL = @"http://xxx.xxx.xxx/radio.m3u"; radioPlayer = [[AVPlayer playerWithURL:[NSURL URLWithString:radioURL]] retain]; ,但是一旦用户击中家庭按钮,我的声音就会消失.
0 2024-03-26
编程技术问答社区
我需要在SWIFT中使用AV播放器实现音乐播放器
我需要在Swift中使用AV播放器实现流媒体播放器 存储在服务器中的音乐文件.请帮助我到任何一个.如何实现这个 解决方案 据此:您可以在ViewDidload方法或ViewWillAppear等视图中添加以下代码,取决于视图是否会反复显示.如果是,请在ViewWillAppear方法中添加. let player = AVPlayer(URL: url) let playerController = AVPlayerViewController() playerController.player = player self.addChildViewController(playerController) self.view.addSubview(playerController.view) playerController.view.frame = self.view.frame player.play()
0 2024-03-21
编程技术问答社区
使用URL播放通知声音
我希望我的应用程序通过URL播放通知声音.我的自定义声音文件位于特定的工作URL.因此,我希望我的应用程序使用该链接将通知用户通知通知. 我已经尝试了AVPlayer,因为它通过url的检查此 AVPlayer我使用[self playselectedsong]调用[self playselectedsong] AppDelegate和viewDidLoad viewDidLoad的函数时,代码正在工作. . 每当通知到达带有音频文件URL的通知到达(didReceiveRemoteNotification),然后我添加到AVPlayer中时,声音不播放.仅显示文本通知. 解决方案 不,除非您在主捆绑包上有远程通知,否则不可能在远程通知上播放声音. 对于iOS中的远程通知,您可以指定自定义声音 iOS播放时播放本地或远程通知 应用.声音文件必须在客户端的主捆绑中 应用程序. 即使您在主捆绑包上添加声音文件,该文件也不能超过30秒 播放时的自定
0 2024-03-21
编程技术问答社区
如何在iOS中加密MP3文件
我有一个应用程序,该应用程序从我们的Web服务器下载MP3文件,并暂时将它们存储在NSDATA对象中.然后将此对象写入存储在应用程序沙盒中的/库/缓存文件夹中的.mp3文件. 当播放文件时,我将其加载到像这样的avplayeritem中: NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp3", trackID]]; NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath]; self.trackPlayerItem = [
0 2024-03-21
编程技术问答社区
iOS从avplayer获取音频时长
我是iOS的新手,我有一个包含在线音频播放器的应用程序.我需要获得音频的总持续时间.我尝试了很多,但是所有代码都返回 nan 或 0 持续时间.获得音频总持续时间的最佳方法是什么?? 我的代码 NSString *songUrl = @"http://9xmusiq.com/songs2/tamil/Kaatru%20Veliyidai/Azhagiye%20%5bStarmusiq.cc%5d.mp3" AVURLAsset *asset = [AVURLAsset assetWithURL:[NSURL URLWithString:songUrl]]; AVPlayerItem *playerItem1 = [AVPlayerItem playerItemWithAsset:asset]; AVPlayer *player1 = [AVPlayer playerWithPlayerItem:playerItem1]; AVPlayerLayer *playerLayer
2 2024-03-21
编程技术问答社区
在iPhone上的AVQueuePlayer中排队的混合视频类型内容
我想开始为这个荒谬的帖子道歉,但我试图提供尽可能多的代码和数据供您参考. 我正在研究一个视频项目,在那里我需要Avqueeplayer的灵活性(最重要的是自由扩展和布局的视频层,以及创建我的自定义控件).问题是,我需要能够混合不同类型的视频内容(在这种情况下,渐进下载.mp4和http stream .m3U8).这是时髦的地方. 首先让您前进: - (void)viewDidLoad { [super viewDidLoad]; NSArray *assetsArray = [NSArray arrayWithObjects: [AVPlayerItem playerItemWithURL: [NSURL URLWithString: kTestPrerollURL]], // .mp4-file on server [AVPlayerItem playerI
0 2024-03-21
编程技术问答社区
到NSData的iPod库路径
如何将iPod库转换为NSDATA. URL是: ipod-library://item/item.mp3?id=1258203422631791096 获取错误,但是我可以使用Avplayer播放这首歌. NSURL *url = [curItem valueForProperty: MPMediaItemPropertyAssetURL]; NSError *error = nil; NSData *data = [NSData dataWithContentsOfFile:[url absoluteString] options:NSDataReadingMappedAlways error:&error]; NSLog(@"Error : %@",error); 库里特姆是mpmediaitem Error Domain=NSCocoaErrorDomain Code=260 "The file “item.mp3?id=12582
0 2024-03-21
编程技术问答社区
iOS的AVPlayer速度变慢
我正在使用Avplayer在我的项目中播放在线视频.视频播放良好.现在,我想减少/增加视频的FPS.以下是我使用的代码: self.asset = [AVAsset assetWithURL:self.videoUrl]; // the video player self.player = [AVPlayer playerWithURL:self.videoUrl]; self.player.actionAtItemEnd = AVPlayerActionAtItemEndNone; self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player]; self.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; [[NSNotificationCenter defaultCenter] addObserver:self
0 2024-03-21
编程技术问答社区
嵌入UITableViewCell中的iOS Swift-AVPlayer
是否有一种方法可以在UaiteDviewCell中使用Avplayer创建tableview,而滚动没有滞后?我正在使用 replaceCurrentItemWithPlayerItem 方法来替换每个单元格中的项目. 解决方案 您是否尝试过 avplayer.prerollat​​rate:? 您可以在使用 avassetimageGenerator .
0 2024-03-21
编程技术问答社区
在ios中使用AVPlayer的音频流
我正在尝试开发一个小应用程序,该应用程序应该从特定链接中播放音频.我正在使用Avplayer,但我不知道为什么它不起作用.尝试了Google,但似乎没有任何意义.请帮助..谢谢 - (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [NSURL URLWithString:@"http://108.166.161.206:8826/stream.mp3"]; self->playerItem = [AVPlayerItem playerItemWithURL:url]; self->player = [AVPlayer playerWithPlayerItem:playerItem]; self->player = [AVPlayer playerWithURL:url]; [player play]; } 解决方案 不知道为什么您首先用playeritem启动播放器,然后用nsurl启动它. 无论如何,这是要走
0 2024-03-21
编程技术问答社区