【问题标题】:Bad access error while invoking [playerFactory play] method调用 [playerFactory play] 方法时出现错误访问错误
【发布时间】: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 请求中我检索到错误的链接;所以播放器请求给出了未知格式的错误访问错误。

标签: ios deezer


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多