TVSDK 1.4 for Android发行说明

TVSDK 1.4 for Android发行说明描述了TVSDK Android 1.4中的新增或更改功能、已解决和已知问题以及设备问题。

新增功能

版本1.4.43

通过HTTPS安全广告加载

Adobe Primetime提供了通过HTTPS请求对primetime广告服务器和CRS的首次调用的选项。

alwaysUseAudioOutputLatency(boolean val)(在MediaPlayer类中)

设置此参数后,在音频时间戳计算中使用音频输出延迟。

它接受一个布尔参数值。 如果其值为True,则客户端在音频时间戳计算中使用音频输出延迟。

版本1.4.42

部分广告插入:
加入广告中间而不触发部分观看广告的跟踪的类似电视的体验。示例:用户在包含3个30秒广告的90秒广告分时段中间(40秒)加入。 这是分时段的第二个广告。

  • 第二个广告在剩余的持续时间(20秒)内播放,然后是第三个广告。
  • 不会触发已播放的部分广告(第二个广告)的广告跟踪器。 仅触发第三个广告的跟踪器。

版本1.4.41

无新增功能。

版本1.4.40

无新增功能。

注意

如果您使用的版本早于1.4.39,则不需要API更改。

版本1.4.39

  • TVSDK通过VHL 2.0.1和VHL 2.0.1认证,Nielsen通过。

  • 更新Android TVSDK以从新的Akamai主机primetime-a.akamaihd.net发出CRS请求。

  • 新的主机名配置通过HTTP和HTTPS(SSL)提供更大规模的CRS资产投放。

  • TVSDK支持Android Oreo版本。

  • 将新函数添加到AdClientFactory类,以支持注册多个Opportunity Detectars:

    public List<PlacementOpportunityDetector> createOpportunityDetectors(MediaPlayerItem item);
    

    这应返回一组PlacementOpportunityDetector。 现在,您可以注册多个机会检测器。 例如,对于早期广告退出功能,需要两个机会检测器 — 一个用于广告插入,另一个用于早期广告退出。 仅当您已实施自己的AdvertisingFactory(而不是使用DefaultAdvertisingfactory)时,才需要实施此新功能。 要获取现有行为 — 您需要创建一个Opportunity Detector,如createOpportunityDetector()函数,并放入数组中并返回:

    public class MyAdvertisingFactory extends AdvertisingFactory {  
    …  
    @Override  
    public List&lt;PlacementOpportunityDetector&gt; createOpportunityDetectors(MediaPlayerItem mediaPlayerItem) {  
    List&lt;PlacementOpportunityDetector&gt; opportunityDetectors = new ArrayList&lt;PlacementOpportunityDetector&gt;();  
    opportunityDetectors.add(createOpportunityDetector(mediaPlayerItem));  
    return opportunityDetectors;  
    } }
    
注意

如果您使用的版本早于1.4.39,则不需要API更改。

版本1.4.36

Android上内容跳过的错误修复。

版本1.4.35

  • 网络广告信息

    TVSDK API现在提供有关第三方VAST响应的更多信息。 广告ID、广告系统和VAST广告扩展在可通过广告资产上的networkAdInfo属性访问的NetworkAdInfo类中提供。 此信息可用于与其他广告分析平台(如​Moat Analytics)集成。

版本1.4.31

CRS广告的多CDN支持

  • 默认情况下,所有转码资源将托管在Akamai上的Adobe拥有的CDN上。 借助最新版本,Adobe Creative Repackaging Service(CRS)能够将转码创意内容上传到客户指定的多个CDN。
  • 新的API添加到TVSDK以启用在不使用默认URL时指定最终的CRS创意URL。 请参阅文档,了解如何使用这些新API。

版本1.4.18
Primetime Android TVSDK现在支持VPAID 2.0 Javascript创意,以实现丰富的交互式流内广告体验。有关VPAID 2.0的详细信息,请参阅VPAID广告支持

版本1.4.17

AC-3 5.1仅在Amazon FireTV上受支持。

版本1.4.11

  • 广告回退,广告选择逻辑中的菊花链(Zendesk #3103 对于启用回退规则的VAST广告(创意),TVSDK将MIME类型无效的广告视为空广告,并尝试在其位置使用回退广告。您可以配置回退行为的某些方面。

有关详细信息,请参阅VAST和VMAP广告的广告回退

  • 已更新至版本1.5的视频心率库(VHL)
    • 能够将带有视频开始和/或视频/广告/章节开始的元数据作为上下文数据发送
    • 网络流量更少 — 心率平均更少,且更小

版本1.4.7

  • 内部部署个性化支​持支持Adobe个性化服务器的内部部署安装,以自定义客户端的个性化请求以转到其他端点。

版本1.4.6

  • 示例AES加密(需要Flash Player版本17.0.0.134)​现在支持基于示例的AES加密。

版本1.4.2

  • 视频心率库(VHL)更新至版本1.4.0.1

    • 添加了将来自其他SDK或播放器的不同分析用例与Adobe Analytics Video Essentials捆绑在一起的功能。
    • 已通过删除trackAdBreakStart和trackAdBreakComplete方法优化了广告跟踪。 广告中断从trackAdStart和trackAdComplete方法调用推断出来。
    • 跟踪广告时不再需要playhead属性。
  • Nielsen SDK集​成TVSDK现在支持将用户跟踪信息发送到Nielsen SDK,而无需任何自定义集成。

版本1.4.0

  • 使用替代内容替 换的封锁信号作为1.4 TVSDK更新的一部分,TVSDK现在还支持针对线性内容的区域封锁进入和返回。TVSDK现在可以并行处理两个清单文件,主文件和备用文件,以监视封锁信号,即使在显示替代原始编程的替代编程时也是如此。

  • 删除/替换C3 广告现在,无需进行任何额外的准备工作即可将新广告动态插入从C3窗口发出的视频点播(VOD)资产中。TVSDK现在提供一个API,用于删除自定义内容范围和动态插入新广告。 当实时/线性内容在广播期间播放时,并且会立即作为点播内容被拉下来使用,而无需适当时间“清理”资源时,此强大的新功能也非常有用。

  • 接口PlaybackEventListener有一个名为onReplaceMediaPlayerItem的新方法,可以使用它侦听新事件ITEM_REPLACED。 每当在MediaPlayer上替换MediaPlayeritem实例时,都会调度此事件。 实现此PlaybackEventListener的客户端应用程序必须实现或覆盖此新方法。

  • AdClientFactory为类添加了一个新函数,用于注册多个Opportunity Detectars:

    public List&lt;PlacementOpportunityDetector&gt; createOpportunityDetectors(MediaPlayerItem item);
    
    For example for early ad exit feature, you need two Opportunity Detectors - one for ad insertion and another for  early  exit from  `ad`.
    
    To override this new function create a single Opportunity Detector, and put into an array and return:
    
    @Override
    
    public List&lt;PlacementOpportunityDetector&gt; createOpportunityDetectors(MediaPlayerItem mediaPlayerItem) {
    
    List&lt;PlacementOpportunityDetector&gt; opportunityDetectors = new ArrayList&lt;PlacementOpportunityDetector&gt;();
    
    opportunityDetectors.add(createOpportunityDetector(mediaPlayerItem));
    
    return opportunityDetectors;
    }
    
    }
    

1.4的TVSDK更改

  • 接口PlaybackEventListener有一个名为onReplaceMediaPlayerItem的新方法,可以使用该方法侦听新事件ITEM_REPLACED。 每当在MediaPlayer上替换MediaPlayeritem实例时,都会调度此事件。 实现此PlaybackEventListener的客户端应用程序必须实现或覆盖此新方法。

  • AdClientFactory为类添加了一个新函数,用于注册多个Opportunity Detectars:

public List`<PlacementOpportunityDetector>` createOpportunityDetectors(MediaPlayerItem item);

例如,对于早期广告退出功能,您需要两个机会检测器 — 一个用于广告插入,另一个用于早期广告退出。

要覆盖此新函数,请创建单个Opportunity Detector,并将其放入数组并返回:

@Override

public List`<PlacementOpportunityDetector>` createOpportunityDetectors(MediaPlayerItem mediaPlayerItem) {

List`<PlacementOpportunityDetector>` opportunityDetectors = new ArrayList`<PlacementOpportunityDetector>`();

opportunityDetectors.add(createOpportunityDetector(mediaPlayerItem));

return opportunityDetectors;

}

}

1.4中的设备认证和支持

注意

TVSDK支持​**​**​以下功能:

  • 在任何平台或版本上慢动作。
  • 实时戏法。

版本1.4.43

TVSDK 1.4.43已通过Android设备的认证,Android设备具有Android 6.0.1/ 7.0和8.1(Oreo)。

  • 版本1.4.23:

    • TVSDK 1.4.23已通过针对Android N的Android设备的认证。
  • 版本1.4.18:

    • Primetime已通过Amazon Fire TV认证。
    • VPAID 2.0仅在Android 4.0及更高版本的设备上受支持。

解决了1.4中的问题

注意

强烈建议所有使用CRS的TVSDK客户升级到TVSDK 1.4.39或iOS和Android上的最新版本。 此升级是现有应用程序实施的插件替换。 升级后,在代理工具(例如,Charles)中检查CRS创意URL请求,以验证路径中的版本是否反映版本3.1。例如:

https://primetime-a.akamaihd.net/assets/3p/v3.1/222000/167/d77/ 167d775d00cbf7fd224b112sf5a4bc7d_0e34cd3ca5177fbc74d66d784bf3586d.m3u8

版本1.4.43

  • 票#27143 — 无法在FireTV设备上播放5.1音轨

    • TVSDK现在可以在FireTV设备上播放AC3音频。 回放始终采用立体声。
  • 票#33902 — 通过HTTPS保护广告投放

    • Adobe Primetime提供了通过https请求对primetime广告服务器和CRS的首次调用的选项。
  • 票#34493 — 蓝牙音频延迟

    • 在MediaPlayer类中添加了alwaysUseAudioOutputLatency,设置后,将导致在音频时间戳计算中使用音频输出延迟。
  • 票#34949 — 集成了新版视频心率库(VHL)。

版本1.4.42(1791)

  • 森德克#33719:FireTV 4k自适应比特率缩放速度很慢。 增加了对FireTV 4K设备的ABR支持。
  • 森德克#33338: resetDRM将清除应用程序的所有数据。 处理了非TVSDK线程中的异常导致TVSDK操作队列填满的额外情况。

版本1.4.41(1776)

  • Zendesk #33002 - Fire TV上TVSDK的配套资源数据。 实施了一个新类AdBannerAsset,它将Companion数据返回为列表 <AdBannerAsset>,AdAsset::id现在是String而不是long。
  • Zendesk #32821 — 当Android Primetime播放器遇到WWE的演示时间戳(PTS)时会冻结。 此版本中修复了此问题。
  • Zendesk #33572 - VideoAnalyticsProvider广告开始崩溃 使用VHL+Nielsen联合SDK版本的VideoHeartbeat.jar的正确组合解决了此问题。
  • Zendesk #33355 - Fire TV:拖拽15秒。 TVSDK方的任何修复和客户正在其终端和第三方验证。

版本1.4.40(1764)

  • Zendesk #33068 — 新设备上的Amazon口型同步问题。 此版本中修复了口型同步问题。
  • Zendesk #32215 - Android TVSDK 1.4.38安全问题[Hotlist]。 已更新至最新的OpenSSL-1.1.0和curl-7.55.1。
  • Zendesk #32920 — 广告中断内的空白屏幕,无广告中断完成。 修复了VPAID容器可能处于挂起状态并处理Facebook VPAID广告通常在单个&amp;lt;AdParameters&amp;gt中返回多个CDATA块的问题;VAST节点。

版本1.4.39(1744)

  • Zendesk #28976 — 许可申请需要超过一秒钟的时间。 当使用POST的DRM许可证请求呼叫正在执行时,Curl会添加额外的“期望:100-continue”标题。 删除了TVSDK中的“Expert:”标头。
  • Zendesk #27707 - CSAI环境不支持CUE IN标记以及早返回或返回内容。 为多个机会产生器提供支持。

版本1.4.38(1722)

  • Zendesk #21590 — 最新来源构建中的视频性能和跟踪

在TVSDK中集成和认证VHL 2.0,通过降低API的复杂性来减少VideoHeartbeatsLibrary实现中的障碍。

  • Zendesk #29688 — 支持Android O Beta客户。

对新Android测试版的TVSDK支持。

版本1.4.36(1713)

  • Zendesk #27392 - Android上的内容跳过

为了容许解密,Android TVSDK错误地将非iframe内容的字节范围扩大了16个字节。 扩展对于Iframe流是必需的,但对于非iframe流则不需要。

版本1.4.34(1702)

  • Zendesk #27638 - Leak in cURL INet对象

Posix cURL INet对象在保留cURL连接中使用的共享管理器和DNS缓存时被泄漏。

通过从INet解构器中删除Posix cURL INet对象,解决了此问题。

版本1.4.33(1694)

  • OpenSSL库

OpenSSL库已使用OpenSSL版本1.0.2j进行更新。

  • Zendesk #21701 — 发送1401 CRS请求的原始创意URL,而不是标准化URL。
    通过发送原始创意URL可解决此问题。

  • Zendesk #25023 — 长视频播放:视频冻结、屏幕闪烁
    通过为CenturyLink机顶盒设备设置最大视频格式尺寸,解决了此问题。

  • Zendesk #27460 — 新的Akamai帐户无法处理POST cdn请求。
    代码已更新,使cdn.auditude.com广告请求成为GET而不是POST。

  • Zendesk #28245 — 当应用程序从背景转到前景时,未正确通知播放状态
    通过正确恢复播放状态以在应用程序返回到前台时播放或暂停,解决了此问题。

版本1.4.32(1682)

  • Zendesk #25779 — 使用TVSDK发现的安全漏洞
    当在WebView中启用JavaScript时,Android 4.2及更低版本存在安全漏洞。 对于运行OS 4.2或更低版本的设备,已禁用通过TVSDK使用WebView。 这将在这些设备上禁用TVSDK中的VPAID广告。

  • Zendesk #26890 — 处于“屏幕”状态(开/关)的问题处理参考。 播放器
    当Adobe视频引擎(AVE)从SUSPEDED状态恢复时,DefaultMediaPlayer不更新其状态。 因此,即使AVE处于PLAYING状态,DefaultMediaPlayer仍保持为SUSPED状态。 通过在从AVE接收PLAY状态时将DefaultMediaPlayer状态设置为PLAYING,即使DefaultMediaPlayer的当前状态为SUSPENDED,已解决此问题。

版本1.4.31(1675)

  • Zendesk #21974 — 由于空对象而出现的异常

    • AdIndex在null时很少递增。 这可能是由于为前置adBreak收到的API调用不正确所致。 修复了数据类型以避免此类例外
  • Zendesk #24714 — 关闭无关的日志记录

    • 更新了TVSDK以关闭无关的日志记录
  • Zendesk #24488 - Fire TV上的AV同步问题

    • 通过改进AV解码器线程的处理来修复。 具体而言,每当修改输入或输出帧队列时,运行特定于帧的内容类型的解码器线程。
  • Zendesk #26551 — 修复CRS故障

    • 当请求为HEAD(http头)时,我们无需读取内容,因为它为空。 尽管可以尝试读取它,但旧Android(4.0.x)在我们调用read()时挂起,而较新的Android在调用read()时返回正确值(-1)。 基于此,将代码更改为不读取“head”的内容
  • 访问TrickPlayManager时Zendesk #26696 Null指针异常

    • 通过在使用TrickPlayManager对象之前检查该对象是否不为null来修复。

版本1.4.30(1659)

  • Zendesk #22675 Asset duration未针对实时/线性流进行更新
    通过在PTVideoAnalyticsTrackingMetadata中提供一个新的APIassetDuration来解决此问题,该API提供了实时流和线性流的资产持续时间。

  • 切换渠道时TVSDK中的Zendesk #25853内存泄漏
    解决了在下载文件时重置或释放MediaPlayer时文件读取缓冲区泄漏的问题。

版本1.4.29(1653)

  • Zendesk #21200 — 当应用程序处于后台时,播放器无法从挂起状态恢复
    当在发出流切换信号后暂停播放器时,该分辨率允许播放器在从暂停状态恢复播放器时执行流切换,而不是恢复到之前的位置。

  • Zendesk #23412 — 如果您在广告中断的最后3秒内点击了任何广告,则Player将卡在一个黑框中
    此问题与Zendesk #21200相同。

  • Zendesk #23616 — 跳过广告片段,未来追求太远
    根据广告插入类型(插入/替换),TVSDK确定在计算中是否使用广告持续时间来确定广告中断端点。

  • Zendesk #25078 - Android TV STB上的TVSDK DRM内存泄漏
    DRM适配器对象的内存泄漏已经找到并修复。

  • Zendesk #25067 - VideoEngineTimeline中的崩溃
    发生这种情况是因为未正确清理对象,并在对象被破坏后调用事件。 通过添加检查以防止空异常,解决了此问题。

  • Zendesk #25352 — 设置自定义HTTP头
    通过向TVSDK上的允许列表添加新的自定义头,解决了此问题。

  • Zendesk #25617 — 实时流PTS变换导致播放器中断和内存崩溃
    通过在段中间发生翻转时在TorabledHTTPStreamer中添加PTS翻转处理,解决了此问题。

版本1.4.28(1637)

  • Zendesk #23618 — 在咨询广告策略之前,广告中断事件会触发
    通过在由于adIpruseration而跳过广告时不触发AD_BREAK_开始和AD_开始事件,解决了此问题。 而是发送AD_BREAK_BRIPTED事件。

版本1.4.27(1631)

  • Zendesk #23174 — 调整视频大小时的性能问题
    通过证明新的API MediaPlayerView.setSurfaceFixedSize解决了此问题,它允许TVSDK从MediaPlayerView访问SurfaceHolder.setFixedSize()。

  • Zendesk #24450 - TVSDK发出重复广告请求
    当已用时间转换为长时间而非多次时发生此问题,此问题已得到修复。

版本1.4.26(1627)

  • Zendesk #21436 - OpenSSL库更新到版本1.0.2h将OpenSSL库更新到OpenSSL版本1.0.2h
  • Zendesk #23825 — 通过提供对android cookie的支持,Cookie未包含在回呼中。已修复。

版本1.4.25(1620)

  • Zendesk #22900 - LiveAdobe Primetime DRM流未在Android参考播放器上播放
    内存分配问题已修复。

  • Zendesk #23176 — 当应用程序尝试播放VPAID广告时,应用程序崩溃
    出现崩溃的原因是应用程序未创建自定义广告视图来呈现VPAID广告。 当没有自定义广告视图时,将忽略广告服务器响应中的VPAID广告来解决此问题。

  • Zendesk #23153 - SampleAES DRM流 — 在TVSDK参考播放器中播放停滞
    此问题与Zendesk #22900相同。

版本1.4.24(1612)

  • Zendesk #20784 - Analytics:为实时视频过渡完成触发内容
    通过添加API(trackVideoComplete)来在实时/线性视频跟踪会话期间手动触发内容完成,解决了此问题。

  • Zendesk #21977 VideoEngineTimeline在placeAdBreak/acceptAd操作期间崩溃

    • 在此问题中,更新了以下库:
      • AdobeMobile库到4.10.0版
      • 版本1.5.6的VHL库
      • VHL-Nielsen库到版本1.6.7

通过在向已接受的广告列表添加广告之前添加空选项来解决此问题。

  • Zendesk #22313带Amilogic芯片组的STB的比特率不会超过1.2M
    通过预加载媒体编解码器功能并禁用Amilogic芯片组设备的无缝交换机,解决了此问题。

  • Zendesk #19520示例AES HLS资产未在TVSDK播放器中播放
    通过处理多个PMT描述符来处理样本AES加密的HLS流,解决了此问题。

版本1.4.23(1602)

  • Zendesk #18852 — 更新基于CRS规则的创意选择逻辑
    通过添加JSON配置文件来指定创意选择优先级,解决了此问题。

  • Zendesk #20861 - Android N
    此版本通过删除直接使用Android平台本机库(在Android N上运行的应用程序不再可访问)的功能,为Android N提供支持。

  • Zendesk #21018 - Android N崩溃
    与ZD# 20861的分辨率相同。

  • Zendesk #21266 - VideoEngineAdapter在Invalid_Key错误时崩溃
    Invalid_Key错误不包括AVE的描述,因此分析文本会生成NPE。 通过在onError分析说明之前为说明添加空检查,解决了此问题。

  • Zendesk #22286 — 本机库正在分配内存读取密钥/片段,导致崩溃
    已修复在Android上尝试同时加载具有多个键的清单时发生的崩溃。

版本1.4.22(1581)

  • Zendesk #17236 — 使用DRM的HLS视频的播放头时间不可靠
    LBA流的时间跳转已得到修复,其中音频段开始时间与视频段开始时间不匹配。

  • Zendesk #17680 - Selevision Andredo框上的视频播放已冻结
    当将视频帧从输出缓冲区出队时,此设备上的视频解码器有时会返回显着的输出时间跳变,并且此输出时间戳保持高。 通过返回不支持​用户档案错误来解决此问题,该错误不会强制播放器重试同一用户档案或选择其他用户档案。

  • Zendesk #19074 - FFWD和REW特技播放期间视频冻结
    通过添加新的警告TRICKPLAY_ENDED_DUE_TO_ERROR解决了此问题,以通知应用程序trickplay已退出,且视频因不可恢复的错误而暂停。

  • Zendesk #19574 - TVSDK不返回DRM或非DRM内容的M3U8响应数据
    此问题通过以下方式解决:

  • Zendesk #19986 — 某些设备(如Android TV)的OP行为已中断

  • 将FILE_NOT_FOUND错误添加到条件。

  • 当错误来自​文件未找到错误时,如果响应可用,则将URL和响应与错误描述分开。
    NVidia屏蔽OP支持引入的逻辑错误已得到修复。 在非NVidia屏蔽设备上,即使显示类型未知,也信任显示安全标志。

  • Zendesk #20549 — 处理过时的播放列表。 如果上次读取未收到新段,则通过将活动清单更新之间的时间间隔减小到预期段持续时间的一半来解决此问题。

  • Zendesk #20742 — 在FireTV上播放实时内容时,内存使用情况似乎在继续增加。崩溃是由已达到限制的JNI对象引用表引起的。 通过删除对在解码器重新启动期间创建的MediaFormat对象的引用,解决了此问题。

  • Zendesk #21125 — 提前退回实时/线性广告休息(CSAI)。 添加了一种功能,该功能允许当玩家通过使用拼接机会检测器在广告提示中注册拼接时,玩家在广告中断期间返回到主内容。

  • Zendesk #21334 - TVSDK广告请求对第三方广告请求的超时值。 向AdvertisingMetadata添加了一个adRequestTimeout设置,该设置可启用广告调用的全局超时。

版本1.4.21(1566)

  • Zendesk #17781 - ADB屏幕捕捉不再有效
    通过添加允许屏幕捕捉的DefaultMediaPlayer.create(Context, boolean secureSurface)API解决了此问题。
    要允许屏幕捕捉,请为secureSurface传递false。
    重要说明:我们强烈建议您不要在生产设置中启用此屏幕捕捉功能。

  • Zendesk #19074 - FFWD和REW特技播放期间视频冻结
    解决了trickPlay在播放中可能冻结时发生的以下问题:

  • Zendesk #19532 — 关闭题注显示顺序不正确

    • FHS开始会逐渐播放,但第一个iframe段中没有帧。
    • 在下载iframe段时,如果FHS遇到错误情况,则它将退出滴播并暂停播放。
    • 当要求刷新所有输入/输出缓冲区时,MediaCodec实现会一直等待输入队列的可用性。
      通过颠倒WebVTT提示的顺序,使多个重叠提示显示为“向上滚动”,解决了此问题。
  • Zendesk #19574 - TVSDK不返回DRM或非DRM内容的M3U8响应数据
    在PTMediaPlayerItem.prepareToPlay中清单文件的初始加载中,如果加载失败,TVSDK不会报告对应用程序的失败响应的正文。
    通过允许TVSDK将失败响应作为错误报告给应用程序,解决了此问题。

  • Zendesk #19701 — 使用SAP/间断播放冻结
    解决了音频和视频在不连续时未对齐的播放器冻结问题。

  • 错误#PTPLAY-11162 — 已解决到版本1.0.2f的OpenSSL库更新。

版本1.4.20(1546)

  • Zendesk #17384 — 功能要求:AAC回放的ID3元数据支持
    从版本1.4.20开始,Android的TVSDK中已提供对AAC媒体中ID3标记的支持。

  • Zendesk #18358 — 播放器在位速率开关上因不同步中断而冻结
    通过正确处理ABR拼接边缘情况,解决了此问题。

  • Zendesk #19232 — 使用TVSDK 1.4.18的应用程序在旧版Amazon OS 4上行为异常
    通过删除TVSDK播放器初始化过程中隐藏的Web视图创建,以避免与不支持Android Web视图的设备发生冲突,解决了此问题。

  • Zendesk #19585 — 当发生自适应比特率过渡时播放慢动作。
    在ABR切换期间,如果新用户档案的音频采样率与当前用户档案不同,则回放将变为快速或慢速运动。 这是因为视频演示者未收到音频格式已更改的通知。
    通过确保在正确的位置设置通知标志,解决了此问题。

  • Zendesk #19683 - SAP DAI回放 — 几秒钟内无音频。
    对于TVSDK逻辑中的几种情况,当比较两个再现段的时间戳时,RENDITION_TIMEOUT_THRESHOLD用作可接受的值范围,因为时间戳不能始终与0毫秒差值匹配。 如果间隙在RENDITION_TIMEOUT_THRESHOLD的范围内,则假定该间隙为匹配。

RENDITION_TIMEOUT_THRESHOLD设置为100ms,但发现它对于某些流是不够的。 通过将RENDITION_TIMEOUT_THRESHOLD增加到200毫秒,解决了此问题。

  • Zendesk #19699 - TVSDK无法在VTT子标题轨道之间切换
    通过在轨道发生更改时进行播放器转储并重新加载清单,并通过更正影响多次字节WebVTT题注轨道名称的UTF8字符串转换问题,解决了此问题。

  • Zendesk #19717 - CC选项显示问题
    通过正确处理Unicode字符串解决了此问题。

  • Zendesk #19910 — 未检测到TIT2 ID3标记
    通过提供对ID3 v2.4字符串编码的更全面的支持以及对ID3 v2.3的支持,解决了此问题。

  • Zendesk #20135 - TVSDK正在为VOD内容触发多个onComplete。
    通过在正确的位置而不是状态更改事件的完全情况添加post_roll_compelete事件侦听器,解决了此问题。

版本1.4.19(1521)

  • Zendesk #4180 - TVSDK未强制实施HDCP。

    • 这是对此票证的部分修复,仅解决NVidia屏蔽设备的问题。
      必须使用Nvidia Shield中正确实现的HDCP检测API来动态跟踪HDCP状态。
  • Zendesk #18358 - TVSDK在不同步不连续的情况下冻结在比特率开关上。

    • 通过添加新警告来检测PTS中断,并强制PTS检查重做搜索每个ABR交换机的正确段,解决了此问题。
      要修复冻结,对mediaPlayer.setCustomConfiguration方法的调用应将forcePTSCheckForABR作为参数。
  • Zendesk #19038 - Asus Zenpad 10上没有实时流。

    通过预载媒体编解码器信息来解决此问题,因此您不会在运行时查询该函数。

  • 以下问题与Zendesk #19038相同:

    • Zendesk #19483 - TVSDK在英特尔平台上崩溃。
    • Zendesk #19171 - Asus Memo Pad 7上的Android 5.0崩溃。

版本1.4.18(1503)

  • Zendesk #3324 - Primetime广告报告在VMAP中没有广告媒体时不会跟踪广告中断。
    当广告中断为空时,广告中断开始和完整跟踪事件未被ping通。 通过在空广告中断(如VMAP AdBreak)上发送广告中断开始ping,用有效的AdSource点解决了此问题。

  • Zendesk #18229 - SetCCVisibility(VISIBLE)在MediaPlayer.reset()调用后被忽略
    通过添加setCCVisibility(Visibility.INVISIBLE)解决了此问题;到MediaPlayer类中的reset()函数。

  • Zendesk #18328 - Amazon Fire TV第2代设备上丢弃了60FPS内容的帧问题
    通过应用编码的FPS进行睡眠时间决策并使用更好的编码的FPS预测逻辑,解决了此问题。

版本1.4.17(1472)

  • Zendesk #2231 — 从获取MediaPlayerNotification中不可用的清单返回错误
    解决此问题的方法是在存在解析错误时包含清单的响应正文。

  • Zendesk #17703 - VideoEngineView在视频播放过程中不阻止屏幕截图
    setSecure方法自API 17起就可用,但由于API 17涵盖4.2、4.2.1和4.2.2,因此不知道哪个会引发异常,或者它是否特定于设备。 通过将VideoEngineView.setSecure打包到try catch子句中,解决了此问题。

  • Zendesk #17919 — 内容搜索导致心跳错误
    由于搜索在前置后启动时生成的心跳调用导致输入数据位置错误无效。 此问题已解决。

1.4.16a (1454a)

  • Zendesk #18215 — 某些AES流无法加载。
    通过在加载AES密钥之前检查用户档案DRM元数据大小,解决了此问题。

版本1.4.16(1454)

  • Zendesk #3875 - Tab S在播放期间崩溃
    正在还原OKHTTP对CRS Auditude的依赖关系,因为TVSDK现在直接使用httpurlconnection而不是curl。 通过在进行任何其他JNI调用之前清除例外解决了此问题。

  • Zendesk #4487 — 跟踪内容的线性渠道
    通过允许在线性流播放会话期间重新初始化视频心率跟踪器,解决了该问题。

  • Zendesk #17919 - Android — 内容搜索导致心跳错误
    已解决在章节中存在搜索时心跳处于错误状态的问题。

  • 曾德斯克#18053 -Adobe Primetime在马绍尔郡发生崩溃
    当TVSDK库使用执行YUV -> RGB颜色转换的neon代码时,TVSDK在Android M OS上崩溃。 通过使用非Neon版本的代码更新导致此问题的函数,解决了该问题。

  • Zendesk #18072 - Android M — 应用程序崩溃
    检查是否支持用户档案和级别时,调用MediaCodecList和MediaCodecInfo API时会发生崩溃。 通过提前加载所有编解码器信息,以避免仅在需要编解码器信息时才调用这些API,解决了该问题。

  • Zendesk #18074 — 阿拉伯语字幕在Nexus和Android 6.0上不工作
    通过为Android提供CTS字体映射支持,解决了此问题。

版本1.4.15更新(1438)

  • Zendesk #17437 — 使用某些AES流启动VOD内容的长延迟。
    要解决此问题,如果清单中列出多个密钥,请并行下载所有AES密钥。

版本1.4.15(1435)

  • Zendesk #4278 — 当自适应比特率发生更改(ABR)时,Android机顶盒上出现故障。
    修复是添加对无缝ABR交换机的支持,该交换机具有最新的Android媒体编解码器。

  • Zendesk #17063 — 调用mediaPlayer.reset()会导致视频引擎重置错误。
    该修复是在调度ErrorEvents时包含来自VideoEngineExceptions的原始MediaErrorCode。

  • Zendesk #17130 — 在更改FireTV上看到的比特率时,短暂但值得注意的暂停。
    (与上面的#4278相同)修复是添加对无缝ABR交换机的支持以及最新的Android媒体编解码器。

  • Zendesk #17666 — 恢复内容时的其他广告标记、意外或无广告。
    修复了在对视频点播(VOD)内容执行prepareToPlay时,初始搜索在本地时间而不是虚拟时间执行的问题。

  • Zendesk #17437 — 使用某些AES流启动VOD内容的长延迟。
    修复是当清单中列出多个密钥时并行下载所有AES密钥。

  • Zendesk #17851 - Android TV - ABR期间黑色相框
    修复是指定KEY_MAX_WIDTH和KEY_MAX_HEIGHT以启用自适应播放。

版本1.4.14(1415)

  • Zendesk #3875 - Tab S在播放期间崩溃。
    需要额外的修复来防止崩溃。

  • Zendesk #17245 - Fallback on Android TV无法正常工作。
    修复了启用回退时播放挂起,且VMAP响应有空广告中断的其他问题。

版本1.4.14(1412)

  • Zendesk #17245 - Fallback on Android TV无法正常工作。
    删除了在回退广告上禁用创意重新打包的限制。

版本1.4.13(1388)

  • Zendesk #3502 — 广告中断期间基于HLS客户端的故障转移支持
    在广告中断期间发生更新活动用户档案错误时,允许故障转移到主清单。

  • Zendesk #3875 - Tab S在播放期间崩溃
    要解决HttpUrlConnection与cURLm之间的冲突,请使用第三方库。

  • Zendesk #4450 — 问题为内容解析器中的单个位置设置自定义元数据
    向Opportunity设置添加setter。

版本1.4.12(1388)

  • Zendesk #2751 - CSAI和CRS |增强:处理特定媒体文件URL中的动态元素。
    更新了Creative重新打包服务,以通过动态创意URL正确处理广告。

  • Zendesk #3965 — 从滴播放切换回正常播放后,在开始播放之前会向前跳一点。

    • Fix包括TVSDK,它返回在速率更改之前的时间,直到所有变量都更新为止,而不是尝试计算GetStreamTime。
    • 修复了在流末尾附近更改特技播放速度时发生的崩溃。
    • 更正了特技播放期间的当前时间计算。
  • Zendesk #3978 - Trickplay以8倍和16倍的速度频繁冻结。

    • 始终以最低的位速率选择特技播放用户档案,以避免持续缓冲。
    • 增加跳帧间隔以实现高特技播放率。
    • 修复了在特技播放期间达到目标长度后缓冲区继续增长的问题。
  • Zendesk #3992 — 额外的Trickplay速度。
    TrickPlay已更新为接受高于16倍的速率;+/- 32、+/-64和+/-128现在也允许。

  • Zendesk #4007 — 将GEOB对象解释为时间轴元数据的一部分(Android和Web)。
    添加了setByteArray和getByteArray API。

  • PTPLAY-7301 — 在随机访问点即时开始。
    “Instant On(即时启动)”已更新,以允许非零起始点。

版本1.4.11(1363)

  • Zendesk #2076 — 在Android 4.0.3的Motorola Xoom上播放视频时经常出现结语
    向允许列表中添加了设备,以防止它们尝试播放高用户档案内容。

  • Zendesk #2197 - [Ads]跟踪广告错误
    调度OperationFailedEvent并发出警告通知。

  • Zendesk #3304 — 未填充VAST 3.0 [ERRORCODE]

    • 如果内联广告有错误的创意,则将显示错误代码400。
    • [ERRORCODE] 宏将进行URL编码

版本1.4.10(1354)

  • Zendesk #2941 — 实时资产在可搜索范围中没有“0”
    以前,当搜索到实时流的开头时有3个段缓冲区,现在可以搜索到实时流的开头(即第一个段的开始)。

  • Zendesk #3169 - Update reference player with Adobe Analytics integration参考播放器已使用Adobe Analytics库进行更新,作为示例植入。

  • Zendesk #3299 — 无法解释的技巧玩耍行为

    • 修复了在停止特技播放后返回播放状态可能需要几秒钟(有时为25秒以上)的错误。
    • 修复了在同一媒体上再次调用特技会导致流在当前时间冻结的错误。
  • Zendesk #3433 - Android和Flash — 字幕问题

GetLine for WebVTT不遵守<CR><LF>调整的数据包长度;最后一个字幕可能包含以前字幕中的字符。

  • PTPLAY-6243 — 增强参考播放器以捕获调试信息

Android示例参考播放器已得到增强,其中包含一个打开调试日志和通过电子邮件发送结果的选项。 该选项位于引用播放器的“日志”菜单下。

版本1.4.9(1332)

  • Zendesk #2649 — 在初始缓冲区已满之前发生缓冲区完成

搜索后,视频引擎在视频演示者准备好播放之前将状态设置为“正在播放”的可能情况。 在搜索前缓冲区状态高时发生。 通过通知视频引擎缓冲区状态低来修复。 对于视频引擎缓冲区低状态,调用“播放”会导致状态更改为BUFFERING,而不是PLAYING。 当状态更改为“播放”时,将继续播放。

  • Zendesk #2846 — 增强请求:提供为Auditude库所发出的调用设置不同用户代理字符串的功能

添加了一个新API,用于为与广告相关的调用设置用户代理,auditudeSettings.setUserAgent("user/agent")。 如果未设置用户代理,则将使用默认代理。 这仅影响广告相关呼叫的用户代理,媒体呼叫的用户代理保持不变,即为“Adobe Primetime”+<default useragent>。

版本1.4.8(1324)

  • Zendesk #1218 - 106000.33本地错误……如果在DicorpatedHTTPStreamer::ThreadParseManifest()中加载清单失败,请检查URL域是否为localhost,如果为localhost,则将域更改为127.0.0.1并重新调用ThreadParseManifest。
  • Zendesk #3072 — 自动切换为较低比特率。 更改了缓冲区长度计算以跳过零PTS有效负荷。
  • Zendesk #3168 — 仅为前10秒显示WebVTT字幕。
  • Zendesk #3193 — 在TVSDK中请求用户档案更改API,已添加PlaybackEventListener.onProfileChanged()。

版本1.4.7(1311)

  • Zendesk #2197 — 跟踪广告错误。 为资产添加的通知无法加载清单
  • Zendesk #2575 - PSDK在视频之前忽略MARK自定义流内广告
  • Zendesk #2719 - Win Death with auditude ads,修复了重定向到auditude插件中的相对url时的信标跟踪
  • Zendesk #2760 — 在TrickPlay模式期间忽略的DINSTRUCTION标签
  • Zendesk #2805 — 播放开始时播放器崩溃,与Zendesk相同的修复#2719
  • Zendesk #2817 - Android播放器 — 播放器有时挂起并停止播放,通过将解码缓冲区从2.0扩展到3.0秒来修复
  • Zendesk #2839 - Adobe Primetime PSDK是否支持ARMv8芯片组?,添加了Galaxy S6上的崩溃修复。
  • Zendesk #2885 - Auditude Blackplayback,与Zendesk相同的修复#2719
  • Zendesk #2895 — 播放10分钟后,HLS实时失败一致
  • Zendesk #2925 — 当我们将数据包排队到输入队列时,在某些设备上对Android开发版本(1.4.5)的反馈,如果PTS为负,则解码器会进入一个奇怪的状态,而我们始终会为将来的数据包获得一个负输出PTS。 如果输入PTS为负值,则该修复会将其设置为零以避免此问题。
  • PTPLAY-4645 — 关闭openssl中的RC4密码支持。 已知有RC4漏洞利用。 这意味着,如果尝试与仅支持RC4的服务器连接,将失败。

版本1.4.6(1282)

  • Zendesk #2192 — 比特率在较差的网络条件下并不总是较低,通过删除快速交换机实施来修复。
  • Zendesk #2631 - Android上的阿拉伯语字幕:多行上的文本将显示为剪切线,通过调整阿拉伯字体的字体大小来修复。
  • Zendesk #2844 - Buffering on Note 4 and Fragment下载时间不准确。

通过将视频段下载之间的延迟添加到带宽计算中并使下载时间计算逻辑使用完全请求周期时间,解决了此问题。

  • Zendesk #2908 — 阿拉伯语字幕在Nexust 5、6和7上不起作用,通过为阿拉伯语脚本添加2种备用字体来修复。
  • PTPLAY-4627 — 将Nielson appsdk更新至版本1.2.3.7
  • PTPLAY-5084 — 实时主控清单更新故障转移支持

版本1.4.5(1248)

  • Zendesk #1757 — 仅对某些视频比特率用户档案播放的音频或播放器崩溃,修复了Nexus 4和Nexus 7崩溃
  • Zendesk #2072 - AdEvent的TimedMetadata不包含仅“http”的完整URL
  • Zendesk #2192 — 在糟糕的网络条件下,比特率并不总是较低
  • Zendesk #2256 — 访问主控播放列表,更新了PSDK以为主控播放列表上的订阅标记调度timedMetadata事件。
  • Zendesk #2269 — 使用WebVTT,屏幕上同时显示两种不同的子标题语言
  • Zendesk #2417 - Player尝试在播放开始前下载字幕,WebVTT使用错误的区段编号变量进行区段编号匹配。 只有从零开始的细分索引的媒体才会显示错误。
  • Zendesk #2470 — 当挂起后发生比特率更改时,PSDK不会从SUSPED状态返回。 在由RestoreGPUResource调用智能搜索(从挂起状态恢复播放器)和在此之前检测到的流交换机的特殊情况下,智能搜索无法完成并导致持续缓冲。
  • Zendesk #2451 — 隐藏字幕“bottom inset”,将“bottomInset”参数添加到字幕代码
  • Zendesk #2480 — 禁用HTTP 302重定向优化,增加了对设置useRedirectedUrl属性的支持
  • Zendesk #2486 — 第三方信标
  • Zendesk #2547 — 阿拉伯语字幕:文本应右对齐

版本1.4.4(1195)

  • Zendesk #1158 - Playback fails on Waewi Valiant(Y301A1)
  • Zendesk #1709 — 不正确的媒体大小和拉伸的视频
  • Zendesk #1757 — 在具有相同Spa/pps数据的流之间切换用户档案后仅播放音频
  • Zendesk #2095 - HTTP 307状态(重定向)导致Adobe播放器停止播放
  • Zendesk #2126 — 缺少上一个ADEVENT的TimedMetaData事件,在从AVE向PSDK报告最后一个区段后存在的“订阅”标记
  • Zendesk #2227 - VideoEngine nativeReset和nativePause中的锁定
  • 错误#3921755 - OpenSSL库更新到版本1.0.1L

版本1.4.3(1173)

  • Zendesk #1591 - RENDITION_M3U8_ERROR
  • Zendesk #1870 — 隐藏字幕打开和关闭
  • PTPLAY-1818 — 倒带技巧在广告停止,而不是绕过广告
  • PTPLAY-2736 — 当具有WebVTT字幕的流完成播放时,屏幕上将显示以前显示的WebVTT字幕
  • PTPLAY-3773 — 当在广告位置后启动流播放时,不会播放中间卷广告

版本1.4.2

  • Zendesk #1561 — 黄金时段中基于HLS客户端的故障转移支持。 将使用项目日期时间解决故障转移
  • Zendesk #1590 - LoadInfo.MediaDuration始终为0(对于仅音频不固定)
  • Zendesk #1626 — 播放器中的潜在内存泄漏。 不是实际内存泄漏,NotificationHistory保存最近1000个通知时出现问题,此问题已减少到100。
  • Zendesk #2192 — 在糟糕的网络条件下,比特率并不总是较低

版本1.4.1(1121)

  • Zendesk #1951 - 4.0.x设备上VideoEngine.nativeReset()中的锁定
  • Zendesk #2064 — 特定基于Intel的Android设备上的本机崩溃SIGSEGV
  • Zendesk #2075 - VideoEngine.nativeReleaseGPUResource在4.0.x设备上锁定
    注意:此版本是​必需*,用于支持Android 5.0(Lollipop)
  • Zendesk #1513 - Android棒棒糖支持
  • Zendesk #1709 — 不正确的媒体大小和拉伸的视频
  • Zendesk #1871 — 查看包含WebVTT字幕的实时流时,WebVTT字幕偶尔会消失并重新出现
  • Zendesk #1996 - PSDK 1.4.0中不显示时间轴标记
  • Zendesk #2046 - PSDK 1.4.1.1113崩溃,修复了从auditude不返回广告时实时流的崩溃
  • 错误#3769657 — 将curl的版本更新为7.38.0
  • PTPLAY-1575 — 当ABR播放仅包含音频流的开始切换到音频/视频流时,视频在音频继续的同时从不呈现
  • PTPLAY-2499 — 更新至OpenSSL至版本1.0.1j以解决最近的漏洞
  • PTPLAY-2632 — 在Android Lollipop上完成中转广告后,视频无法恢复
  • PTPLAY-2678 — 在Android Lollipop上的实时寿命测试期间视频停止

版本1.4.0

  • Zendesk #1024 — 通过清单从流中删除广告的功能
  • Zendesk #1293 — 隐藏字幕轨道选择问题。
  • Zendesk #1590 - LoadInfo.MediaDuration始终为0,mediaDuration现在显示正确的值。
  • Zendesk #1629 - Galaxy S4上的广告播放结束时播放器/应用程序崩溃
  • Zendesk #1674 - ClosedCaption未显示,当0x03 ETX代码缺失时,正确显示708字幕。
  • PTPLAY-2157 - Getter返回了默认的隐藏字幕样式,即使在流上设置了不同的样式并以可视方式进行了验证。 “隐藏字幕”样式属性现在将显示已设置的值。

1.4中的已知问题

版本1.4.31

  • PTPLAY-16803 — 隐藏字幕将不能处理仅音频内容,因为字幕系统需要视频才能正常工作。 没有视频,就没有视口尺寸,没有视口尺寸,我们无法显示字幕的任何图形。
  • PTPLAY-1634 - Same Subscribed标记在不同实时窗口中具有不同的时间戳。 移动实时窗口时,其中的同一标签应具有相同的时间戳。 但是,有时,即使相同的标记也具有不同的时间戳。
  • PTPLAY-3197 — 连续播放约1小时后,Acer Iconia设备上出现信号11 SIGSEGV错误的崩溃
  • PTPLAY-3310 — 在较低比特率的音频中,Acer Iconia的音频变得生硬/断断续续
  • PTPLAY-3355 — 在连续播放约1小时后,Motorola Xoom上的4.0.x死亡事件成功。
  • PTPLAY-3557 — 在广告中断时倒带导致流完成
  • PTPLAY-7079 - Android客户端上的播放窗口无法与安全停止/硬停止一起使用
  • 错误#3760144 — 在Kindle Fire 7和Samsung Galaxy Nexus等某些设备上暂停流时,分辨率可能会移动或显示为脉冲。 仅可观察
  • 错误#3761170 - seekToLocal in Live with Ads无法返回到广告内容,它最好使用当前Time API for Live Streams
  • 错误#3763370 — 包含广告的实时流偶尔会在应该只有一个广告标记时近距离显示两个广告标记。 这些广告标记表示同一广告,并且只会播放一个
  • 错误#3763373 — 在VOD流中通过广告搜索时,广告标记可能会短暂消失。 广告标记恢复,并且时间轴上没有其他不利影响
  • 某些设备存在已知的播放问题。 请参阅1.4🔗中的已知设备问题。
  • 参考实施 — 示例应用程序中未实现特技播放
  • 在某些Android TV设备上,由于以下过渡点处的解码器重置,可以看到黑帧:
    • 进入和退出戏剧模式
    • 在延迟绑定音轨之间切换
    • 从广告到主内容。

版本1.4.23

  • “隐藏式字幕”不能用于仅音频内容,因为字幕系统需要视频才能使用。 没有视频,就没有视口尺寸,没有视口尺寸,就无法显示字幕的任何图形。

  • 从版本1.4.23开始,TVSDK将不支持Gingerbread OS 2.3。这是因为TVSDK使用以下专用Android库来收集有关Gingerbread OS设备的硬件信息:

    • libstagefright.so
    • libcutils.so

在Android N版本中,Google删除了对这些专用库的访问。 Gingerbread OS目前在全球Android OS市场中所占份额不到1%,因此,在版本1.4.23之后,Gingerbread OS将不再受TVSDK支持。
使用版本1.4.23(包括对Android N的支持)或更高版本时:

  • 更新您的应用程序以使用minSdk版本11。
  • 如果您的最终用户运行的是OS 2.3,则SDK版本低于应用程序的minSdkVersion。 系统中止应用程序的安装或升级。
  • 如果最终用户运行的版本高于OS 2.3,则应用程序将正确安装。

如果更新minSdkVersion:

  • 如果您的最终用户运行的是OS 2.3,则安装了应用程序,但播放将无法进行。
    这适用于更新和新安装。
  • 如果您的最终用户运行的系统高于OS 2.3,则应用程序安装正确,内容播放正确。

版本1.4.22

  • 当拼接标签和拼接标签彼此过于接近时,早期退出广告不适用于某些中间版广告。

版本1.4.2

  • 在广告中断时倒带导致流完成。

Media Player在“特技播放”倒退操作期间,当其到达广告边界时,会错误地发送MediaPlayer PlayerState。完成。 播放器在特技播放模式下应忽略此事件,否则SDK将正确处理状态。

版本1.4.0(1086)

  • PTPLAY-1634 — 同一“订阅”标签在不同实时窗口中具有不同的时间戳。 移动实时窗口时,每个窗口中的同一标签应具有相同的时间戳。 但是,有时,即使同一标签也具有不同的时间戳。
  • PTPLAY-2541 - COMPONENT_CREATION_FAILURE有时会在封锁期中与备用流进行多次切换或从备用流进行切换后出现
  • 错误#3726865 — 如果多比特率LBA流开始来自仅音频流,则切换到音频/视频流时,视频不会显示。 从音频/视频流开始将不显示此问题,并可以在音频流和音频/视频流之间成功切换
  • 错误#3760144 — 在Kindle Fire 7和Samsung Galaxy Nexus等某些设备上暂停流时,分辨率可能会移动或显示为脉冲。 仅可观察
  • 错误#3761170 - seekToLocal in Live with Ads无法回访广告内容;最好将currentTime API用于实时流
  • 错误#3763370 — 包含广告的实时流偶尔会在应该只有一个广告标记时近距离显示两个广告标记。 这些广告标记表示同一广告,并且只会播放一个
  • 错误#3763373 — 在VOD流中通过广告搜索时,广告标记可能会短暂消失。 广告标记恢复,并且时间轴上没有其他不利影响
  • 某些设备存在已知的播放问题。 有关详细信息,请参阅1.4🔗中的已知设备问题。
  • 参考实施 — 在示例应用程序中未实现特技播放。

1.4中的已知设备问题

设备 芯片组 问题 原因 解决方法
Droid X TI OMAP3 ABR延迟是预期的,因为它正在重新启动解码器。
HTC Desire(与HTC Desire HD不同) QSD8250 无法播放视频。 返回VIDEO_用户档案_NOT_SUPPORTED错误。 期望不提供适当的硬件解码器。 它提供了Stagefright的软件解码器。 重新启动设备。
HTC EVO 4G QSD8650 无硬件解码器。 Qualcomm没有硬件解码器。 升级到Android 4.x。
Kindle FireSystem版本6.0 TI OMAP4 不播放HLS流。 AIR上的视频不起作用。 升级到系统版本6.3。
Kindle Fire HD TI OMAP4 可以进入无法播放视频的状态。 返回VIDEO_用户档案_NOT_SUPPORTED和UNRECOVABLE_ERROR错误。 当应用程序未完全关闭硬件解码器时(例如,在遇到崩溃后),硬件解码器会进入不可恢复状态。 在设备上的本机应用程序上也会发生。 重新启动设备。
Kindle Fire HD 8.9 Snapdragon 800 AVE在多个ABR交换机后崩溃。
Motorola Atrix 特格拉2 与AIR相比,AVE的整体性能问题。 音频/视频不同步,在播放9到15分钟后,视频播放将冻结。 崩溃。 可能与我们在AIR上启用的openGLES相关。 正在调查。
Nexus 7(第2代) S4Pro APQ8064(Qualcomm) 暂停电影超过30分钟时,设备挂起。 已报告给Google的设备问题。 应用程序应超时,以便不允许长暂停状态。
Nexus S(GB) 蜂鸟 无法使用硬件解码器播放任何视频。 Nexus S中没有基于Stagefright的硬件解码器,因此,对于Android 2.3,我们使用的是软件解码器。 升级到ICS。
Nexus S(ICS) 蜂鸟 视频偶尔闪烁。 数据错误可能导致解码器进入错误状态。 重新启动设备。
Nook平板电脑Android OS:2.3 TI OMAP 4 视频不播放,应用程序挂起。 Stagefright在运行应用程序几次后进入不稳定状态。 对mediaplayer的调用::QueryCodecs挂起。 重新启动设备以重置状态。
三星Galaxy ACE Qualcomm MSM7227 无法安装SampleMediaPlayer应用程序。 使用ARM v6,而不是更常见的ARM v7芯片组。 FP/AIR不支持此设备。
Samsung Galaxy ACE2Android OS:2.3.6 NovaThor U8500 无法播放视频。 此芯片组是AVE中Android预ICS的未知解码器。
Samsung Galaxy S2(GT-I9100) 埃西诺斯 此设备的视频性能不达标。 HW解码器返回具有错误PTS的解码帧。 看起来解码器使用的是解码时间而不是表示时间。
Samsung Galaxy S2 GAndroid OS:2.3.6 TI OMAP4 启动视频时崩溃。 升级到Android 2.3.7或4.x。
Samsung Galaxy S3(I747) Qualcomm MSM8960 视频会间歇性地冻结并只播放音频,然后变得无响应。
三星Galaxy S3 I747M SAMSUNG_M2ATT 视频冻结。 调查。
Samsung Galaxy Tab 1 v10.1 特格拉2 MBR过渡最多可能需要三秒。 作为MBR崩溃的修复,我们会为每个流交换机重新启动解码器,这可能需要三秒钟。
三星Galaxy Y 无法安装SampleMediaPlayer应用程序。 使用ARM v6,而不是更常见的ARM v7芯片组。 FP/AIR不支持此设备。
Xoom 特格拉 为进行切换而丢弃了几个帧。 解码器未重新启动。 OMXAL限制。

有用资源

在此页面上