嵌入的音频无法在 iPad 上的 UIWebView 中播放,但在 iPhone 中播放良好,目标 C

Embedded audio wont play in UIWebView on iPad but plays well in iPhone, objective C

提问人:Ashish Badak 提问时间:11/30/2017 更新时间:12/4/2017 访问量:457

问:

我正在下载网页并通过 may app 进行存储;这样我就可以通过我的应用程序离线访问它。我正在UIWebView中加载该网页(.html)。我正在点击播放音频或视频。如果该网页包含视频,则它可以在所有设备(iPhone 和 iPad)上正常运行。但是当我访问一个包含音频的网页时;然后该音频在iPhone上成功播放;但在 iPad(在设备和模拟器上)它不会在 UIWebView 中播放音频文件。我该怎么做?

iOS Objective-C iPhone iPad UIWebView

评论


答:

0赞 Vicky_Vignesh 12/2/2017 #1
    NSString *userAgentString = @"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36";
    NSDictionary *dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:userAgentString,@"UserAgent", nil];

    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

添加此代码 将请求加载到 Web 视图时。 如果你添加你的代码会更好。

更新:

请尝试以下代码:

webView.scalesPageToFit = 是;

添加这个 ! 如果您的 Web 视图框架是整个屏幕。 然后尝试以下代码:

webView.frame=self.view.bounds;

评论

0赞 Ashish Badak 12/4/2017
现在音频工作正常;但是 WebView 布局受到干扰。内容仅显示在一个小窗口中,并且缺少某些内容。
0赞 Vicky_Vignesh 12/4/2017
@AshishBadak请回复答案,我认为音频播放器正在播放,这个答案对您非常有帮助,因此请将答案更新为已接受。
0赞 Ashish Badak 12/4/2017
我已经设置了scalePagesToFit属性,对于webView,我设置了适当的约束。但 webView 仍在萎缩。
0赞 Ashish Badak 12/4/2017 #2

@Vicky_Vignesh您的答案部分正确(无论如何,感谢您提供基础)。您需要提供设备类型和操作系统版本以及 UserAgent 字符串。我是这样做的:

    NSString *userAgentString = @"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1";
    NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:userAgentString,@"UserAgent", nil];
    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];