【问题标题】:How to Stop UIWebView from playing mp3?如何阻止 UIWebView 播放 mp3?
【发布时间】:2011-08-21 15:13:45
【问题描述】:

我正在将一个 MP3 文件加载到 iPad 应用程序上的 UIWebView 控件中,我有一个名为 doneUIButton 用户希望关闭 UIWebView 并停止音乐,这里是一个代码sn-p:

// points to the mp3 file path
NSURL *url = [NSURL fileURLWithPath:self.sFilePath]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[web loadRequest:request];

当用户点击完成时,我会执行以下操作:

[self.webview removeFromSuperview];
[self.webview release];

但这并不能阻止音乐播放,我注意到在UIWebView 上加载 mp3 文件会打开 QuickTime 播放器是正确的方法吗?

我非常感谢任何指导或帮助。

【问题讨论】:

标签: objective-c ios ipad uiwebview mp3


【解决方案1】:

我建议您使用例如AVAudioPlayer 自己播放声音(这可能是在 iOS 中播放和控制声音的最简单方法)。

类似这样的:

NSURL *url = [NSURL fileURLWithPath:self.sFilePath];
NSData *mySound = [NSData dataWithContentsOfURL:url];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:mySound error:NULL];
audioPlayer.numberOfLoops = 0;
[audioPlayer play];

然后您可以像这样简单地停止声音:

[audioPlayer stop];

[audioPlayer pause];

不要忘记在您的项目中包含 AVFoundation.framework。

【讨论】:

  • @iceydee:我会尝试并尽快回复您。
  • @iceydee:谢谢你的回答,但这不是我所期望的。我会等待一段时间,看看是否有人可以帮助我解决 UIWebView 问题,如果没有人会接受您的回答并使用您的解决方案,谢谢。
  • 您真的希望向用户显示播放/暂停控件吗?
  • @iceydee : 不,我想做的就是在用户点击完成“就像听完音乐”或当我想移动到另一个视图时停止音乐。
  • @AhmadTK 但是我给你的 sn-p 不是达到目的了吗?只需在用户单击按钮时调用 [audioPlayer stop]。如果您希望曲目永远循环播放,您可以将 numberOfLoops 更改为 -1 我相信它是。我会将 audioPlayer 放在一个属性中,以便从其他类/视图轻松访问它。
【解决方案2】:

看起来像是Video/audio streaming does not stop even if UIWebView is closed - iPad的骗子

那里的解决方案:

[self.webContent loadRequest:NSURLRequestFromString(@"about:blank")];

【讨论】:

  • 我想我以前试过这个,但我会在早上第一件事尝试一下。
  • 如果你只是使用web view来播放音频,我推荐上面iceydee的解决方案...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
相关资源
最近更新 更多