【问题标题】:Embedded audio wont play in UIWebView on iPad but plays well in iPhone, objective C嵌入式音频无法在 iPad 上的 UIWebView 中播放,但在 iPhone 中播放良好,目标 C
【发布时间】:2018-05-14 12:46:02
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c iphone ipad uiwebview


    【解决方案1】:

    @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];
    

    【讨论】:

      【解决方案2】:
          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 = YES;

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

      webView.frame=self.view.bounds;

      【讨论】:

      • 现在音频工作正常;但 webview 布局受到干扰。内容仅显示在一个小窗口中,并且缺少一些内容。
      • @AshishBadak 请回复答案,我认为音频播放器正在播放,此答案对您非常有帮助,因此请将答案更新为已接受。
      • 我设置了 scalePagesToFit 属性,并且为 webView 我设置了适当的约束。但是 webView 仍然在缩小。
      猜你喜欢
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多