2

在为播放器工厂设置所有参数后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];


        }

    }

请注意,播放器控制器的当前播放器距离是 The deezerplayer in The other class

4

1 回答 1

0

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

于 2014-06-12T09:48:51.313 回答