调用 [playerFactory play] 方法时出现错误访问错误

Posted

技术标签:

【中文标题】调用 [playerFactory play] 方法时出现错误访问错误【英文标题】:Bad access error while invoking [playerFactory play] method 【发布时间】:2013-12-15 22:45:56 【问题描述】:

在为播放器工厂init设置了所有参数后,准备播放器进行预览,我知道我的播放器是由播放器状态(1)初始化的。此外,缓冲区回调会打印出一些数字。

但是当我尝试调用play 方法时,它给出了关于[RealPLayer BufferFlushed] 的错误访问错误。

对我来说,这似乎是一个空引用问题,但播放器工厂类是一个单例,我已在 init 中声明它。

会是什么?

玩家初始化

- (id)初始化 if (self = [super init]) deezerPlayer = [PlayerFactory createPlayerWithNetworkType:NetWork_WIFI_AND_3G andBufferProgressInterval:50.f]; [deezerPlayer setPlayerDelegate:self]; [deezerPlayer setBufferDelegate:self]; 回归自我;

这是从另一个类调用的预览准备,需要 url 和 id

- (void) initPlayerForPreviewWithUrl:(NSString *)url andTrackId:(NSString *)trackId NSLog(@"INIT PLAYER WITH LINK: %@ AND ID: %@",url,trackId); [deezerPlayer preparePlayerForPreviewWithURL:url trackID:trackId andDeezerConnect:[[deezerClass deezerSession] deezerConnect]];

之后我从同一个类调用 play 方法

-(无效)播放 [deezerPlayer 播放];

此时,它给出了错误

这是调用类

- (void)setTheData [[playerController currentPlayer] initPlayerForPreviewWithUrl:sop.currentSongLink andTrackId:sop.currentSongId]; - (IBAction)togglePlayPause:(id)sender 如果(playPause.selected) [[playerController currentPlayer] 暂停]; [playPause setSelected:NO]; 别的 [[playerController currentPlayer] 播放]; [playPause setSelected:YES];

注意播放器控制器的当前播放器距离是另一个类中的 deezerplayer

【问题讨论】:

请发布您的相关代码。我们不可能猜到。 我的错!从 api 请求中我检索到错误的链接;所以播放器请求给出了未知格式的错误访问错误。 【参考方案1】:

如果您给出错误的歌曲“id”-“streamId”匹配您获得 EXC_BAD_ACCESS 的播放器。另请注意,如果您尝试播放 API 的 JSON 响应中指示为“可读 = 0”的歌曲,您可能会收到相同的错误。我希望 Deezer 能够修复此崩溃并给出适当的错误消息。

【讨论】:

以上是关于调用 [playerFactory play] 方法时出现错误访问错误的主要内容,如果未能解决你的问题,请参考以下文章

为啥对方接听电话后会自动播放音频?

无法连接到 google play 服务

如何使用 React Ref 调用 video.play()?

在 MPMoviePlayerController 上调用 play 后,电影播放有一些延迟

AbortError: play() 请求被对 pause() 的调用中断

Play2.2.1 父项目同名视图不能调用子播放项目视图