我正在尝试使用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,声音播放,但没有视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)