我想只获取我的Android应用程序的可用语言,即我在res文件夹中有一个名为values-(例如values-en,values-fr)的文件夹.
我不想存储语言代码,我想列出表格值的"res"的所有子文件夹 - *并从他们的名字中取出语言代码.(最终检查代码是否在Locale.getAvailableLocales()返回的数组中,以确保它是正确的).这个想法在这里说明如何获得可用的语言(不是所有语言,只是我的应用程序上可用的语言).
我试过用
getResources().getAssets().list("res"); getResources().getAssets().list("/res");
getResources().getAssets().list("/res/");
Run Code Online (Sandbox Code Playgroud)
但他们都没有工作.
你知道如何列出"res"文件夹的子文件夹吗?
先感谢您.
我需要检测插入的有线耳机是否有麦克风.
我可以使用isWiredHeadSetOn()检查是否插入了耳机,但是对于麦克风似乎不是AudioManager类中的这种方法.
我已经使用ACTION_HEADSET_PLUG找到了一些建议,但我很想知道这些信息,即使在打开我的应用程序之前插入了耳机,在我的应用程序生命周期内也不会触发此事件.
关于这个问题的任何想法?先感谢您.
我正在寻找一种解决方案,该解决方案使用Android API通过USB线将文本文件从Android设备传输到计算机.我找到了USB主机,但我无法使用它,因为计算机无法充当Android主机的设备.
你有什么建议我能做到这一点吗?
我正在尝试捕获相机输出并使用 libavcodec 制作视频。作为如何完成此操作的示例,我使用了ffmpeg muxing 示例。
问题是 4 秒视频的大小为 ~15mb,比特率为 ~30000 kb/s,尽管我已将 AVCodecContext 上的比特率设置为 400000(我认为该值以比特/秒为单位,而不是 kb/s) .
我还尝试从命令行使用 ffmpeg 录制视频,它的比特率约为 700 kb/s。
有人知道为什么不保留比特率从而导致生成的文件非常大吗?我用来初始化编解码器上下文的代码如下:
初始化部分:
avformat_alloc_output_context2(&m_formatContext, NULL, NULL, filename);
outputFormat = m_formatContext->oformat;
codec = avcodec_find_encoder(outputFormat->video_codec);
m_videoStream = avformat_new_stream(m_formatContext, codec);
m_videoStream->id = m_formatContext->nb_streams - 1;
codecContext = m_videoStream->codec;
codecContext->codec_id = outputFormat->video_codec;
codecContext->width = m_videoResolution.width();
codecContext->height = m_videoResolution.height();
int m_bitRate = 400000;
codecContext->bit_rate = m_bitRate;
codecContext->rc_min_rate = m_bitRate;
codecContext->rc_max_rate = m_bitRate;
codecContext->bit_rate_tolerance = 0;
codecContext->time_base.den = 20;
codecContext->time_base.num = 1;
codecContext->pix_fmt = …
Run Code Online (Sandbox Code Playgroud) android ×3
adb ×1
audio ×1
ffmpeg ×1
libav ×1
libavcodec ×1
libavformat ×1
localization ×1
usb ×1