草庐IT

java - 如何检测语音转文本是否在 Android 上可用?

我相信我已经想出如何检测android设备是否有麦克风,如下所示:IntentspeechIntent=newIntent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);ListspeechActivities=packageManager.queryIntentActivities(speechIntent,0);TextViewmicAvailView=(TextView)findViewById(R.id.mic_available_flag);if(speechActivities.size()!=0){//wehaveamicrophon

Android访问媒体商店的权限

访问android的mediastore是否需要任何特定权限?我编写了一个可以访问所有用户照片的测试应用程序-但我发现这种行为出乎意料。看起来确实应该有一些权限来访问这些数据。 最佳答案 在android4.4中,当通过位于/mnt/sdcard/DCIM/Camera目录之外的内容urlcontent://media/external/images/media/123读取图像时,我在logcat中收到此错误消息...Causedby:java.lang.SecurityException:PermissionDenial:read

android - 除非正在播放音频,否则不会收到 KeyEvent.KEYCODE_MEDIA_NEXT

我已与蓝牙耳机配对。播放音频时,KeyEvent.KEYCODE_MEDIA_NEXT和KeyEvent.KEYCODE_MEDIA_PREVIOUS在我的BroadcastReceiver中正常接收。当音频不播放时,我的接收器不会因这些关键事件而被调用。在同一状态下,当音频未播放时,将调用同一接收器进行播放/暂停,KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE,因此我知道这不是我的接收器未注册的问题。一旦音频开始播放,我可以通过日志看到当音频未播放时,所有KeyEvent.KEYCODE_MEDIA_NEXT事件都已排队,并在音频开始后重新传送。这些事件中的每一个

android - ffmpeg rtsp解码缓冲区太小

我在Android上使用ffmpeg解码rtsp,当图像快速更新或具有高分辨率时,我很快看到像素化:google了一下,发现可能和UDPbuffersize有关。然后我在ffmpeg/libavformat/udp.c中使用以下参数重新编译了ffmpeg库#defineUDP_TX_BUF_SIZE327680#defineUDP_MAX_PKT_SIZE655360它似乎有所改善,但在某些时候它仍然开始失败。知道我应该增加哪个缓冲区以及如何增加吗? 最佳答案 对于我的问题(http://libav-users.943685.n4.

android - 调用 playAudio() 30 到 40 次后,Phonegap 声音停止播放

在我的应用程序中,我对鼠标点击给出了声音响应。我是这样做的我是这样调用函数的这是函数functioncallplay(){if(voice=="male")playAudio('/android_asset/www/Mobile/sound/Male/'+rand1+'.mp3');elseplayAudio('/android_asset/www/Mobile/sound/Female/'+rand1+'.mp3');}//Audioplayer//varmy_media=null;//Playaudio//functionplayAudio(src){//CreateMediaob

android - setPlaybackParams 防止在 API 23 上开始播放

由于某种原因,特别是在AcerIconia平板电脑上,如果在启动媒体播放器之前调用setPlaybackParams()并且在准备好MediaPlayer之后,则不会发生任何事情:start()“成功”并且听不到音频。在模拟器和我拥有的其他设备以及使用该应用程序的几千台设备中一切正常。如果没有抛出异常并且没有生成错误,我如何在这个和其他不能很好地使用setPlaybackParams()的设备上检测到这个故障?我能想到的唯一解决方案是具有播放超时机制。还有其他的吗? 最佳答案 这就是我为自己的应用程序解决这个问题的方法:我的应用程序

android - 删除由 MediaStore.Images.Media.insertImage 创建的图像和缩略图

我明白了MediaStore.Images.Media.insertImage(ContentResolvercr,Bitmapsource,Stringtitle,Stringdescription)将创建2个文件(图像和缩略图)如何删除两个已创建的图像? 最佳答案 使用此命令使用您要删除的图像的ID:mediaStoreIds.add(mediaStoreId);context.getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,Bas

Android 13 - Media框架(11)- MediaCodec(一)

MediaCodec是Android平台上音视频编解码的标准接口,无论是使用软解还是硬解都要通过调用MediaCodec来完成,是学习Android音视频不可跳过的重要部分。MediaCodec部分的代码有几千行,光是头文件就有几百行,对于我这样的新手来说,简直就劝退了,又或者是硬着头皮往下看,一行一行阅读,看到里面的各种状态各种变量,很容易就晕了。我们这一篇笔记旨在从设计思路的角度了解MediaCodec,不仅仅是粘贴代码流程,力求更好地帮助理解MediaCodec的原理。ps:由于本人水平有限,MediaCodec中的部分内容也没有理解,如果有错误还恳请指正。1、准备工作MediaCode

android - 媒体播放器中没有显示控制按钮

我是Android的新手,我正在尝试制作一个非常简单的应用程序。它只是一个包含用于播放音频或视频文件的MediaPlayer的Activity。我设法播放了一首歌曲,但它就是不显示媒体播放器的控制元素!这是我使用的代码:publicclassPlayerextendsActivityimplementsOnPreparedListener,MediaPlayerControl{privatestaticfinalStringTAG="AudioPlayer";publicstaticfinalStringAUDIO_FILE_NAME="audioFileName";privateSt

android - 无法在 Android Auto Media App 上获取语音命令

我有一个Android应用程序具有可用的自动功能,但已被商店拒绝,因为:“您的应用不支持所有必需的语音命令。例如,您的应用不包含操作“android.media.action.MEDIA_PLAY_FROM_SEARCH”的Intent过滤器。所以我希望至少让应用程序响应“在X应用程序上播放音乐”,但通过查看文档我无法让它工作。我将此添加到我的主要Activity(这不是启动器Activity,它通过Binder控制服务)它触发一个MediaBrowserServiceCompat,它是这样初始化的:list:部分代码:@OverridepublicvoidonCreate(){sup