2011-02-24 142 views
1

我試圖檢測播客流的播放結束。我正在使用loadRequest:[NSURLRequest requestWithURL:location]加載包含正在播放的MP3文件的網頁。通過問題檔案,我認爲可能執行<UIWebViewDelegate>協議,特別是方法webViewDidFinishLoad可能是答案,但是在實現它之後,當音頻文件結束時,我沒有看到這個方法被調用。看到該方法被調用,導致我相信我可能沒有正確執行呢?這裏是我做的。將iPhones 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

我不確定這是不是問題,但你不應該影子你的實例變量在委託方法中的WebView。我不知道將WebView更改爲webView是爲了解決委託人被解僱的問題,但這是我首先想到的。

要回答您的原始問題,在Webview響應未收到流式連接結束後被調用此代理。我也正在研究一個解決方案,以便在完成一個流時進行鉤子。