2012-05-09 2 views
0

Я работаю со звуковым облаком sdk, я пытаюсь использовать их библиотеки для воспроизведения Audio Stream.Как реализовать строку SCAudioStream? - Sound Cloud

Мне не удалось найти ссылку на использование этого класса.

Я был бы признателен за любую помощь, которую вы могли бы предоставить.

ответ

0

Если вы говорите о this libraries, я могу вам помочь.

Прежде всего, вы должны запустить этот метод, чтобы получить некоторую информацию о треке его ID:

[api performMethod: @"GET" 
      onResource: @"tracks" 
     withParameters: [NSDictionary dictionaryWithObject:trackID forKey:@"ids"] 
       context: @"trackid" 
       userInfo: nil]; 

Если вы не знаете, TrackID и имеют только ссылку, чтобы отслеживать, как этот: http://soundcloud.com/go-yoshimura/mikasasukasa, а затем запустить этот метод:

[api performMethod: @"GET" 
      onResource: @"resolve" 
     withParameters: [NSDictionary dictionaryWithObject:songLink forKey:@"url"] 
       context: @"songname" 
       userInfo: nil]; 

Затем вы должны реализовать методы делегата:

- (void)soundCloudAPI:(SCSoundCloudAPI *)soundCloudAPI 
    didFinishWithData:(NSData *)data 
       context:(id)context 
      userInfo:(id)userInfo; 

- (void)soundCloudAPI:(SCSoundCloudAPI *)soundCloudAPI 
    didFailWithError:(NSError *)error 
       context:(id)context 
      userInfo:(id)userInfo; 

В первом методе вы должны анализировать данные с помощью JSON Parser (JSONKit или SBJSON). Вы должны получить NSDictionary.

streamURL = [(NSDictionary *)jsonData objectForKey:@"stream_url"]; 
streamable = [[(NSDictionary *)jsonData objectForKey:@"streamable"] boolValue]; 

Если этот трек поточный, вы можете получить SCAudioStream таким образом:

stream = [[SCAudioStream alloc] initWithURL:[NSURL URLWithString:streamURL] authentication:auth]; 

Auth Вы можете создать ранее в методе инициализации таким образом:

conf = [SCSoundCloudAPIConfiguration configurationForProductionWithClientID: kSCClientID 
                     clientSecret: kSCClientSecret 
                     redirectURL: kSCRedirectURL]; 
auth = [[SCSoundCloudAPIAuthentication alloc] initWithAuthenticationDelegate:self apiConfiguration:conf]; 

И теперь у вас есть SCAudioStream.

//Playing 
[stream play]; 

//Pause 
[srteam pause]; 

//Seeking 
[stream seekToMillisecond:ms startPlaying:YES]; 

Это все :)