【发布时间】:2011-11-29 17:22:51
【问题描述】:
我有一张桌子,当我触摸一个单元格时,它会推送一个详细视图,有时详细视图有一个在 web 视图中播放的音频。我遇到的问题是,当用户播放音频并返回表格时,来自详细视图的音频仍在播放,有没有办法控制视图何时被推回?如果有办法控制我该如何停止音频我应该使用这个 thewebview = nil;?
谢谢
【问题讨论】:
标签: iphone objective-c ios xcode ipad
我有一张桌子,当我触摸一个单元格时,它会推送一个详细视图,有时详细视图有一个在 web 视图中播放的音频。我遇到的问题是,当用户播放音频并返回表格时,来自详细视图的音频仍在播放,有没有办法控制视图何时被推回?如果有办法控制我该如何停止音频我应该使用这个 thewebview = nil;?
谢谢
【问题讨论】:
标签: iphone objective-c ios xcode ipad
您的详细视图控制器将在即将离开屏幕时通过调用-viewWillDisappear 得到通知;您可以通过将一些javascript推送到webview或完全处理webview来停止音频(尽管如果视图控制器可能在它仍在导航层次结构中时离开屏幕,您应该确保再次设置它在-viewWillAppear)。
但是,您通常会期望当您关闭详细视图控制器时,它会被销毁,并且它的子视图(包括 web 视图)也会随之被销毁。音频继续播放的事实表明您可能在此处遇到了内存管理问题。
【讨论】:
-dealloc 真的被调用了吗?
我不知道你为什么要在 webview 中播放音频的真正原因。最好使用 AVFramework,您将可以完全控制正在播放的音频。您可以使用框架播放、暂停、停止等。
如果您仍想使用 webview,请在 html 文件中添加将停止音频的 javascript 并将其添加到 HTML 并在 viewWillDisAppear 方法中调用 javascript。
欲了解更多信息,请查看网址http://iphoneincubator.com/blog/windows-views/how-to-inject-javascript-functions-into-a-uiwebview
【讨论】: