Tag: avplayer

从Parse.com播放audio

我正试图播放一个audio文件,我保存在parsing。 我从保存的对象中获取来自PFFile的url。 当我运行的应用程序avplayer不产生任何audio。 我testing了avplayer是否正在玩下面的第一个代码片段,并打印出“播放”,这意味着播放器正在播放,但没有audio。 我也尝试设置avplayer的音量,并没有帮助。 不明白为什么不玩,如果有人想帮我。 audio文件url: http : //files.parsetfss.com/292b6f11-5fee-4be7-b317-16fd494dfa3d/tfss-ccc3a843-967b-4773-b92e-1cf2e8f3c1c6-testfile.wav 这个代码停止avplayer,如果它正在播放: if (player.rate > 0) && (player.error == nil) { // player is playing println("Playing") } else { println("Not Playing") } AVPlayer代码: let objectAudio: PFObject = object as PFObject let parseAudio: PFFile = objectAudio.valueForKey("audioFileParse") as PFFile let audioPath: String = parseAudio.url let urlParse: NSURL = […]

录制从AVPlayerstream式传输的audio

我试图通过AVPlayerlogging/采集正在stream式传输的audio。 AVAudioRecorder只logging麦克风,如果通过扬声器播放audio(虽然质量会受到影响),但是如果插入耳机,它绝对不会工作。 我到处寻找一个解决scheme,但仍然没有find一个解决scheme,将为我工作。 我需要抓取audio缓冲区吗? 还有另一种方法来捕捉正在播放的内容吗?

如何在AVFoundation中循环播放video,而不会有不必要的暂停?

我正试图播放无限期循环的video剪辑。 我按照苹果公司的build议来做这件事。 通过设置由AVPlayerItemDidPlayToEndTimeNotification触发的通知: @property(nonatomic) AVPlayer *videoPlayer; @property(nonatomic) AVPlayerItem *videoPlayerItem; -(void)loadVideo { NSURL *url = [[NSBundle mainBundle] URLForResource:filename withExtension:extension]; AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; NSString *tracksKey = @"tracks"; [asset loadValuesAsynchronouslyForKeys:@[tracksKey] completionHandler: ^{ dispatch_async(dispatch_get_main_queue(), ^{ NSError *error; AVKeyValueStatus status = [asset statusOfValueForKey:tracksKey error:&error]; if (status == AVKeyValueStatusLoaded) { [self setVideoPlayerItem:[AVPlayerItem playerItemWithAsset:asset]]; [videoPlayerItem addObserver:self forKeyPath:@"status" options:0 context:&ItemStatusContext]; […]

我的AVPlayer不应该从最后一点恢复直播

我正在用AVPlayerbuild立一个Live Stream Player。 暂停后恢复时,从最后点开始恢复。 但是由于这是一个直播,我需要我的球员直播,而不是老的点。

AVPlayer不能播放

我想用AVPlayer播放远程的mp3。 我不能让它工作,我不明白为什么它不起作用。 码: NSString *urlstr=@"..some link to a mp3" NSURL *url=[NSURL URLWithString:urlstr]; self.player = [[[AVPlayer alloc] initWithURL:url] retain]; [player play]; 该链接是有效的。 如果我加载它在webView它马上播放。 请帮忙。

iOS8中的AVPlayerItem addobserver问题

您好我正在使用AVPlayer在我的UITableViewCells上播放video,它在iOS 7上工作正常,但在iOS8中它崩溃与以下错误。 'An instance 0x7c01b000 of class AVPlayerItem was deallocated while key value observers were still registered with it. 这是我的代码 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { ……… ……… if(cell.videoPlayer!= nil && cell.videoPlayer.currentItem != nil) { [cell.videoItem removeObserver:self forKeyPath:@"playbackBufferEmpty" context:nil]; [cell.videoItem removeObserver:self forKeyPath:@"playbackLikelyToKeepUp" context:nil]; } cell.videoPlayer = [AVPlayer playerWithPlayerItem:cell.videoItem]; cell.avLayer = [AVPlayerLayer playerLayerWithPlayer:cell.videoPlayer]; cell.videoPlayer.actionAtItemEnd = […]

在检索比特率时,无法使用HLS获取AVAsset的音轨

我在我的应用程序中使用HLSstream,我正在使用AVPlayer。 现在我想使用AVAsset获得video轨道的比特率。 虽然我添加了观察者和其他的东西,我总是听到数组为空。我是正确的轨道还是失去了什么?

AVPlayer播放,暂停和缓冲问题

我的应用程序播放streamvideo,但是当它缓冲时,播放器进入暂停模式,我必须手动将其设置为播放模式,为了处理这种情况,我在我的AVPlayer类中有以下代码,但它确实不行。 在ViewDidLoad方法中 [playerItem addObserver:self forKeyPath:@"playbackBufferEmpty" options:NSKeyValueObservingOptionNew context:nil]; [playerItem addObserver:self forKeyPath:@"playbackLikelyToKeepUp" options:NSKeyValueObservingOptionNew context:nil]; 然后,使用以下方法处理观察者 – (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (!player) { return; } else if (object == playerItem && [keyPath isEqualToString:@"playbackBufferEmpty"]) { if (playerItem.playbackBufferEmpty) { //Your code here } } else if (object == playerItem && [keyPath isEqualToString:@"playbackLikelyToKeepUp"]) { if (playerItem.playbackLikelyToKeepUp) […]

在iOS中使用AVPlayer可以知道当前的.ts文件或编码器当前的时间戳吗?

由于我们无法将隐藏式字幕数据或字幕数据从AVPlayer中取出,因此我们正在查看其他触发方法,例如时间码或至less是当前活动的.ts文件的知识。 我在文档中找不到任何东西,播放器的CMTime不会给我embeddedm3u8文件的时间码。 NSLog(@"%f", CMTimeGetSeconds([mPlayer currentTime] ) ); 是不是我在找什么。 #EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:562 #EXT-X-PROGRAM-DATE-TIME:2020-10-23T14:18:59+08:00 #EXTINF:10, http://aedsgios1-i.akamaihd.net/hls/live/204775/test1-p/mobile600/Seg_102320_124459_1/mobile600_102320_124459_562.ts #EXT-X-PROGRAM-DATE-TIME:2020-10-23T14:19:09+08:00 #EXTINF:10, EXT-X-PROGRAM-DATE-TIME就是我所知道的,或者至less是活动的.ts文件的名称。 谢谢!

从另一个ViewController在swift中调用函数

我已经看了Stackoverflow,但我无法得到答案。 我想要创build停止在另一个ViewController中播放声音的函数。 但是,当我点击停止button时,它破解并显示“EXC_BAD_INSTRUCTION(code = EXC_I386_INVOP,subcode = 0x0)”。 这是我的代码。 第一个ViewController import UIKit import AVFoundation class FirstVC: UIViewController { var metronome: AVAudioPlayer! override func viewDidLoad() { super.viewDidLoad() do { let resourcePath1 = Bundle.main.path(forResource: "music", ofType: "mp3") let url = NSURL(fileURLWithPath: resourcePath1!) try metronome = AVAudioPlayer(contentsOf: url as URL) metronome.prepareToPlay() metronome.play() } catch let err as NSError { […]