Tag: media player

video播放器使用appcompat-v7在Android中熄灭模式

我将从本机Holo( Theme.Holo等)的代码库移植到appcompat-v7 ( Theme.AppCompat等)。 如果你不想阅读详细信息,最后一部分包含tl; dr 。 问题 一切正常,但我有复制一个很容易使用旧的ActionBar行为的问题。 我有一个video播放器,在风景中,我希望它的行为像YouTube:隐藏(animation)播放器控件,应用程序栏和状态栏。 在用户交互时,UI控件应该保持这个“熄灯”模式并且回到正常状态。 如果用户在X秒钟内没有触摸屏幕,则定时器将返回熄灭模式。 使用ActionBar的相同代码不会使用Toolbar 。 所以,我使用的是: 一个不透明的状态栏 setSystemUiVisibility()使用这些组合之一: 默认: View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 熄灭: View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE minSdkVersion是16 显示和隐藏ActionBar,我简单地称它为show()和hide() 在应用程序栏上实现相同的行为我subclassed Toolbar并添加一个show()和一个hide()方法相同(首先简单地使用setVisibility() ,然后使用animation – 获得相同的结果) LAYOUT_STABLE使得appbar最终会在状态栏后面(因为它意味着一个fitSystemWindows 。由于appbar是视图层次结构中的普通视图,并不像ActionBar那样装饰,它受到那个标志这是我在屏幕上看到的: 不立即清除工具栏边界是什么,因为应用程序栏在黑暗中是黑暗的,但是您可以看到标题被剪切和“未alignment”。 这是因为工具栏大小正确,但在状态栏后面。 我的主要问题是在这一点上,没有公共的API来获得状态栏高度,矩形或其他任何东西来垂直移动我的应用程序栏以显示在状态栏下方。 testing主要是在LP513D上的N5上进行的(在编写本文时为最新的Lollipop公开构build版本),但Android 4.4上也可以看到相同的结果。 哈克解决scheme 也就是说,经过相当一段时间和一些失败的尝试,使得它以不太疯狂的方式工作(包括试图把它装进装饰的相当绝望的尝试),我采取了这种使它工作的恶劣方式: […]

AVPlayer HLS实时stream量计(显示FFT数据)

我正在使用AVPlayer进行使用HTTP实况stream的电台应用程序。 现在我想为audiostream实现一个电平表。 最好的方法是用电平表显示不同的频率,但是简单的左/右解决scheme将是一个很好的起点。 我发现了几个使用AVAudioPlayer例子。 但是我找不到一个解决scheme来获取AVPlayer所需的信息。 有人能为我的问题想出一个解决scheme吗? 编辑我想创build这样的东西(但更好) 编辑II 一个build议是使用MTAudioProcessingTap来获取原始audio数据。 使用[[[_player currentItem] asset] tracks]数组可以find这个例子,在我的例子中,它是一个空数组。 另一个build议是使用[[_player currentItem] audioMix]对我来说是null的。 编辑三 已经有好几年了,似乎还没有解决办法。 我确实取得了进展,所以我分享了。 在安装过程中,我将一个键值观察者添加到playerItem中: [[[self player] currentItem] addObserver:self forKeyPath:@"tracks" options:kNilOptions context:NULL]; ////////////////////////////////////////////////////// – (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)changecontext:(void *)context if ([keyPath isEqualToString:@"tracks"] && [[object tracks] count] > 0) { for (AVPlayerItemTrack *itemTrack in [object tracks]) { AVAssetTrack *track = […]

Android MediaPlayer问题:“Error(-38,0)”和“stop in state called 1”

我的设备甚至是仿真器都没有声音。 实际上,在“mMediaPlayer.create(this,musicIds [0])”这一行中 ,eclipse给了我两个select: “使用'MediaPlayer'(声明types)”或“Add @SuppressWarnings'static-access'到Create()“ 。 顺便说一下,我采取了日食的build议……..但仍然没有工作。 PS我从其他项目(寻呼机)调用一个包。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle(R.string.diff_title); setContentView(R.layout.title_layout); viewFlow = (ViewFlow) findViewById(R.id.viewflow); DiffAdapter adapter = new DiffAdapter(this); viewFlow.setAdapter(adapter); TitleFlowIndicator indicator = (TitleFlowIndicator) findViewById(R.id.viewflowindic); indicator.setTitleProvider(adapter); viewFlow.setFlowIndicator(indicator); //Set all views listView = (ListView) findViewById(R.id.listView1); listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listeStrings)); final ImageView imv=(ImageView)findViewById(R.id.imv); imv.setImageResource(imageIds[0]); final ImageView pic = (ImageView)findViewById(R.id.Picture); pic.setImageResource(imageIds[0]); btnPlay […]

JavaFX:尝试通过MediaPlayer类播放mp3文件时,“工具箱”未初始化

我试图在我的程序的后台使用下面的简单的MP3播放: Media med = new Media(getClass().getResource("intro.mp3").toExternalForm()); MediaPlayer mPlayer = new MediaPlayer(med); mPlayer.play(); intro.mp3文件与其他.class文件一起放在我的包的bin文件夹中。 问题是我的程序终止于: Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized 完全终止日志是: Device "Intel(R) HD Graphics Family" (\\.\DISPLAY1) initialization failed : WARNING: bad driver version detected, device disabled. Please update your driver to at least version 8.15.10.2302 Exception in thread "main" java.lang.IllegalStateException: Toolkit not […]

在来电时停止和启动音乐

我已经实现了一个活动,从Android中的URL播放媒体 为了增加暂停function,当来电是传入时,我创build了一个接收器,设置一个variables,当来电。 该活动读取此variables,然后在其onPause()方法中暂停音乐,并重置当呼叫完成时,活动在其onResume()方法中恢复音乐 这项工作很好,只要活动有重点。 如果我在播放音乐的同时回到主屏幕,然后来电,则不会调用活动的暂停,因此我可以“停止并启动音乐” 这是什么出路? 任何人都实现了媒体播放器,以便在任何时候拦截来电和拨出电话,并正确地停止和启动音乐?