【问题标题】:xcode stream fail to play on iphonexcode 流无法在 iphone 上播放
【发布时间】:2015-05-20 15:36:17
【问题描述】:

我正在为 ios 设备开发 iptv。到目前为止,我可以播放频道列表。部署目标是 8.0。我已经用 iphone s5 虚拟设备进行了测试,我可以正确播放流。我决定在真实设备上进行测试。 该应用程序运行完美,但流不会打开。屏幕保持黑色。当虚拟设备打开时,我怎么可能无法在真实设备中打开流?这是我的代码。

func play(var currentChannel:TVChannel){

    moviePlayer?.stop();

    var URL:String = currentChannel.channelUrl;
    var _URL = Encryption().Decrypt(plainText: URL);
    var url:NSURL = NSURL(string: _URL)!

    println(url);

    moviePlayer = MPMoviePlayerController(contentURL: url)
    moviePlayer?.controlStyle = MPMovieControlStyle.None;

    if(db.select.getStringValue(forKey: db.STRING_VALUE_CURRENT_CHANNEL) == nil){
        db.insert.CoreData_Insert(value: "-1", coreDataKey: db.STRING_VALUE_CURRENT_CHANNEL)
    }
    //send log
    Logs().sendHit(currentChannel.channelNumber, accessway: access_way, lastchannel: db.select.getStringValue(forKey: db.STRING_VALUE_CURRENT_CHANNEL).value, username: db.select.getStringValue(forKey: db.STRING_VALUE_USERNAME).value);

    db.delete.deleteEntityFromCore(entityName: "StringValue", field_Name: "key", field_Value: db.STRING_VALUE_CURRENT_CHANNEL);

    //save the new channel

    db.insert.CoreData_Insert(value: currentChannel.channelNumber, coreDataKey: db.STRING_VALUE_CURRENT_CHANNEL);

    if let player = moviePlayer{

        player.view.frame = self.view.bounds
        player.prepareToPlay()
        player.scalingMode = .AspectFill
        self.view.addSubview(player.view)
        self.view.bringSubviewToFront(two_way_channel);
        player.play();

    }
    self.updateOSD();


}

感谢任何帮助。 谢谢你

【问题讨论】:

    标签: xcode swift http-live-streaming akamai


    【解决方案1】:

    这段代码运行完美,我的问题是 CDN (akamai) 对请求频道流的客户端的用户代理有限制。不知何故,虚拟设备用户代理可以通过限制。发生这种情况可能是因为 iphone s5 真实设备和 iphone s5 虚拟设备具有不同的用户代理。

    【讨论】:

      猜你喜欢
      • 2012-02-10
      • 1970-01-01
      • 2012-01-30
      • 2021-05-09
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      相关资源
      最近更新 更多