java– 谷歌Ima SDK,声音播放,但没有视图

java– 谷歌Ima SDK,声音播放,但没有视图,第1张

概述我正在尝试使用GoogleIMAsdk在Android上播放广告.我使用示例应用程序来找到我的解决方案,但出于某种原因,我只获得广告和叠加层的音频(广告长度,阅读更多按钮等).视频没有播放,或者至少看不见.我使用VideoView构建了视频播放器:packageeu.myapp.test.views;importandroid.m

我正在尝试使用Google IMA sdk在Android上播放广告.我使用示例应用程序来找到我的解决方案,但出于某种原因,我只获得广告和叠加层的音频(广告长度,阅读更多按钮等).视频没有播放,或者至少看不见.

我使用VIDeoVIEw构建了视频播放器:

package eu.myapp.test.vIEws;import androID.media.MediaPlayer;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.MediaController;import androID.Widget.VIDeoVIEw;import androID.media.MediaPlayer.OnCompletionListener;import androID.media.MediaPlayer.OnErrorListener;import androID.media.MediaPlayer.OnInfoListener;import com.facebook.react.uimanager.themedReactContext;import java.util.ArrayList;import java.util.List;import eu.myapp.test.controllers.PlayerController;public class PlayerVIEw extends VIDeoVIEw {private PlayerController mPlayerController;public PlayerVIEw(themedReactContext context, PlayerController playerController) {    super(context);    mPlayerController = playerController;    init();}private voID init() {    MediaController mediaController = new MediaController(getContext());    mediaController.setAnchorVIEw(this);    setLayoutParams(new VIEwGroup.LayoutParams(VIEwGroup.LayoutParams.MATCH_PARENT, VIEwGroup.LayoutParams.MATCH_PARENT));    super.setonPreparedListener(new MediaPlayer.OnPreparedListener() {        @OverrIDe        public voID onPrepared(MediaPlayer mp) {            mp.start();        }    });    super.setonCompletionListener(new OnCompletionListener() {        @OverrIDe        public voID onCompletion(MediaPlayer mediaPlayer) {            mediaPlayer.reset();            reset();        }    });    super.setonErrorListener(new one rrorListener() {        @OverrIDe        public boolean one rror(MediaPlayer mp, int what, int extra) {            mp.reset();            reset();            return true;        }    });    super.setonInfoListener(new OnInfoListener() {        @OverrIDe        public boolean onInfo(MediaPlayer mp, int what, int extra) {            // When vIDeo starts, make progressbar visible and spinner invisible            if (MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START == what) {                mPlayerController.setProgressbarVisibility(VIEw.VISIBLE);                mPlayerController.setPlaceholderVisibility(VIEw.GONE);                mPlayerController.setAdSpinnerVisibility(VIEw.GONE);                return true;            }            return false;        }    });    mPlayerController.addplayerVIEw(this);}public voID play() {    start();}public voID reset() {    mPlayerController.setProgressbarVisibility(VIEw.GONE);    mPlayerController.setPlaceholderVisibility(VIEw.VISIBLE);    mPlayerController.setAdSpinnerVisibility(VIEw.VISIBLE);    mPlayerController.onVIDeoComplete();}}

有人熟悉这个问题吗?

编辑:完成后我得到一个

playerstate error (-38, 0).

但我怀疑这是问题,因为它从一开始就不起作用.

问题是没有发生,或者在某些设备上很少见.虽然它总是出现在其他设备上.

解决方法:

固定它.我有一个SurfaceVIEw用于我的普通视频和一个VIDeoVIEw用于广告. SurfaceVIEw显示在VIDeoVIEw之上,导致广告不可见.

总结

以上是内存溢出为你收集整理的java – 谷歌Ima SDK,声音播放,但没有视图全部内容,希望文章能够帮你解决java – 谷歌Ima SDK,声音播放,但没有视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存