小编Dav*_* R.的帖子

如何声明Android偏好的类型?

我有一个preferences.xml,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android">
 <EditTextPreference
  android:name="Sample"
  android:enabled="true"
  android:persistent="true"
  android:summary="Sample"
  android:defaultValue="3.0"
  android:title="Sample"
  android:key="sample" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

当我执行sp.getString("sample","3.0")时,它工作正常并返回一个字符串,但它不应该是一个字符串,它应该是一个浮点数.运行sp.getFloat("sample",3.0f)会抛出ClassCastException,因为它是一个字符串.

我应该在XML中放置什么以便将首选项存储为浮点数?

android preferences classcastexception

28
推荐指数
2
解决办法
1万
查看次数

在没有播放的情况下解码Android上的编码音频数据(MP3等)

简短版本:将MP3(并且理想情况下是AAC/Ogg/WMA)中的数据编码成Java阵列或ByteBuffer的最佳方法是什么?

我正在整理一个程序,它将减慢和加速声音文件作为其功能之一.这适用于WAV文件,这是一个标题加上需要发送到扬声器的确切二进制数据,现在我需要为MP3实现它(理想情况下,这也支持AAC,Ogg和WMA,但是那些不太受欢迎的格式,这不是必需的).Android没有公开接口来解码MP3而不播放它,所以我需要创建该接口.

虽然我对其他人开放,但有三种选择可供选择:

1)编写我自己的解码器.我已经有一个功能帧检测器,我希望用于选项(3),现在应该只需要实现霍夫曼解码表.

2)使用JLayer或等效的Java库来处理解码.我不清楚这里的许可证后果是什么.

3)连接到libmedia库/ MediaPlayerService.这就是SoundPool所做的事情,而且该服务的使用量使我相信,虽然它正式不稳定,但实现并不是任何地方.这意味着编写JNI代码以连接到服务,但我发现这是一个很深的兔子洞.在表面上,我遇到了sp <>模板的问题.

audio mp3 android decoding

12
推荐指数
1
解决办法
6574
查看次数

stdexcept在Android上

我正在尝试在Android上编译SoundTouch.我从这个配置行开始:

./configure CPPFLAGS =" - I/Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/include /"LDFLAGS =" - Wl,-rpath-link =/Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/lib -L ​​/ Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/lib -nostdlib -lc"--host = arm-eabi --enable-shared = yes CFLAGS =" - nostdlib -O3 -mandroid"host_alias = arm-eabi --no-create --no-递归

因为Android NDK以ARM为目标,所以我还必须更改Makefile以删除要进行的-msse2标志.

当我运行'make'时,我得到:

/bin/sh ../../libtool --tag=CXX   --mode=compile arm-eabi-g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include  -I/Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/include/ -O3 -fcheck-new -I../../include -g -O2 -MT FIRFilter.lo -MD -MP -MF .deps/FIRFilter.Tpo -c -o FIRFilter.lo FIRFilter.cpp
libtool: compile:  arm-eabi-g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I/Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/include/ -O3 -fcheck-new -I../../include -g -O2 -MT FIRFilter.lo -MD -MP -MF .deps/FIRFilter.Tpo -c FIRFilter.cpp …
Run Code Online (Sandbox Code Playgroud)

android compilation android-ndk soundtouch

5
推荐指数
1
解决办法
2394
查看次数

如何查看Android本机代码分析?

我使用./emulator -trace profile -avd emulator_15启动了我的模拟器。然后,我将跟踪文件跟踪到〜/ .android / avd / rodgers_emulator_15.avd / traces / profile,其中有六个文件:qtrace.bb,qtrace.exc,qtrace.insn,qtrace.method,qtrace.pid,qtrace 。静态的。我不知道该如何处理这些文件。我已经尝试了所有文件的dmtracedump和traceview,但是似乎都没有生成任何我可以做的输出。

如何查看Android上本机方法调用所花费的时间比例?

android profiling qemu android-emulator

3
推荐指数
1
解决办法
5194
查看次数