2011-02-24 3 views
1

팟 캐스트 스트림의 재생 종료를 감지하려고합니다. 재생되는 mp3 파일이 포함 된 웹 페이지를로드하려면 loadRequest:[NSURLRequest requestWithURL:location]을 사용하고 있습니다. 질문의 아카이브를 통해 <UIWebViewDelegate> 프로토콜을 구현하고 구체적으로는 webViewDidFinishLoad 메서드를 사용할 수 있다고 생각했지만 구현 한 후에 오디오 파일이 끝났을 때이 메서드가 호출되는 것을 보지 못했습니다. 메서드를 호출하여 올바르게 구현하지 못했을 수도 있습니다.윌 아이폰 webViewDidFinishLoad 스트리밍 오디오 파일의 재생 종료 감지

헤더 파일에 내가 가지고있는 것 :

클래스 구현 파일에서
@interface MyWebViewController : UIViewController<UIWebViewDelegate> { 
    NSURL *location; // holds the web address that will be loaded by this app 
    IBOutlet UIWebView *theWebView; 
} 

나는이 :

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    theWebView.delegate = self; 

    [theWebView loadRequest:[NSURLRequest requestWithURL:location]]; 
} 

- (void)webViewDidFinishLoad:(UIWebView *)theWebView { 
    NSLog(@"view did finish"); 
} 

웹 페이지에로드 된 오디오 파일의 재생의 끝을 결정하는이 적절한 해결책인가? 그렇지 않은 경우 재생 종료를 감지하는 더 좋은 방법은 무엇입니까? 이 솔루션의 아이디어가 맞다면이 구현에서 내가 뭘 잘못 했습니까?

답변

0

이것이 문제가되는지는 확실하지 않지만 그림자 위임 메서드 내에서 인스턴스 변수 인 theWebView를 사용하면 안됩니다. webView로 theWebView를 변경하면 위임자가 해고당하는 문제를 해결할 것이라는 것을 모릅니다. 그러나 그것이 내가 먼저 보게 될 곳입니다.

원본 질문에 대답하기 위해 스트리밍 연결이 끝났을 때가 아니라 Webview 응답을 받으면이 델리게이트가 호출됩니다. 나는 또한 스트림의 완성을위한 해결책을 찾고있다.