小编Ran*_*med的帖子

如何将字节数组中的pcm样本转换为-1.0到1.0范围内的浮点数并返回?

我使用的重采样算法需要包含-1.0到1.0范围内的输入样本的float数组.音频数据是16位 PCM,采样率为22khz.

我想将音频从22khz下采样到8khz,如何将字节数组中的样本表示为浮点数> = -1且<= 1并返回字节数组?

java floating-point android signal-processing

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

从Android中的本机c返回jbyteArray

我使用native c将数据从音频文件读取到jbyte指针.现在我想将它作为jbyteArray发送给java.

jbyteArray Java_com_app_audio_player_readData(JNIEnv * env, jobject jobj,jstring readPath)
{

FILE *fin;
const char *inFile= (*env)->GetStringUTFChars(env,readPath,0);
fin = fopen(inFile, "r");

fseek(fin, 0, SEEK_END); // seek to end of file
 int size = ftell(fin); // get current file pointer
fseek(fin, 0, SEEK_SET);

jbyte *data=(jbyte *)malloc(size*sizeof(jbyte));
int charCnt = 0;

charCnt=fread(data, 1, size, fin);


jbyteArray result=(*env)->NewByteArray(env, size);

     //-- I want to convert data to jbyteArray and return it to java    

fclose(fin);
 return result;

}
Run Code Online (Sandbox Code Playgroud)

怎么做的?

c java-native-interface android android-ndk

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

android中的帧到毫秒转换

在Android中,AudioTrack类的getPlaybackHeadPosition()方法返回以帧表示的播放头位置,以毫秒为单位的等效值是多少?

android audiotrack

13
推荐指数
1
解决办法
4588
查看次数

MediaPlayer onCompletion未被准确调用

在我的应用程序中,我使用MediaPlayer API 创建了一个音频播放器(仅限WAV文件).但是玩家每次都不会给onCompletion Listener回调.有时它会给出回调但不是每次都回调.我正在对wav文件进行一些音频处理,比如插入和覆盖.

是因为音频标题中有任何缺失吗?回放完成后为什么不回调?

android wav android-mediaplayer

7
推荐指数
2
解决办法
5482
查看次数

如何在Android密钥库中存储和检索从服务器端应用程序生成的RSA公钥?

服务器端应用程序生成一个RSA密钥对,作为密钥交换过程的一部分,我从服务器获取此公钥,现在我想将此密钥存储在android KeyStore中.我已经看到了使用KeyGenerator生成rsa密钥对并将它们存储在android KeyStore中的示例,但我不知道如何存储已生成的RSA公钥.任何帮助将受到高度赞赏.

android rsa public-key-encryption android-keystore

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

如何检查另一台刻录机是否正在运行?

我使用AudioRecord API在我的应用程序中录制音频(WAV),并成功录制.但是当我尝试录制其他录制应用程序在后台运行时,我的应用程序表现得很奇怪.

MediaRecorder试图启动,而另一个记录正在运行,但AudioRecord API初始化记录实例,并不会引发任何异常记录时,API抛出异常,所以我不能确定任何记录实例是否正在运行与否.

这个场景已经在三星S3的默认录音机中处理,当我尝试录音时说

"无法开始新的录制.其他已经录制的应用程序"

在我的应用程序的录音机启动之前,如何识别是否有其他录音机正在运行?

android android-mediarecorder android-audiorecord

4
推荐指数
1
解决办法
4422
查看次数

带有可绘制图标的FragmentTabHost

我在支持包中使用FragmentTabHost实现了标签,但是没有显示可绘制的图标?

如何使用FragmentTabHost显示可绘制图标?

mTabs = (FragmentTabHost)findViewById(android.R.id.tabhost);
mTabs.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

mTabs.addTab(mTabs.newTabSpec("chapter").setIndicator("Chapter",getResources().
getDrawable(R.drawable.chapter1)), ContentFragment.class, null);

mTabs.addTab(mTabs.newTabSpec("section").setIndicator("section",getResources().
    getDrawable(R.drawable.favourite1)), SectionFragment.class, null);
mTabs.addTab(mTabs.newTabSpec("video").setIndicator("Video",getResources().
    getDrawable(R.drawable.video1)),VideoFragment.class, null);
mTabs.addTab(mTabs.newTabSpec("about").setIndicator("About",getResources().
    getDrawable(R.drawable.about1)),AboutFragment.class, null);
Run Code Online (Sandbox Code Playgroud)

android android-support-library fragment-tab-host

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

从碎片开始活动

让我解释一下我的应用程序的结构,在我的应用程序中,我有3个使用Fragments实现的主要选项卡.其中一个主选项卡在其片段中包含3个子选项卡,一个子选项卡包含 listview.现在我想在选择列表中的项目时启动活动.

这是列表视图的onItemClickListener:

lv.setOnItemClickListener(new OnItemClickListener() 
 {

public void onItemClick(AdapterView<?> arg0, View view, int position,long id) 
{
RecordObjects obj=(RecordObjects)lv.getItemAtPosition(position);
String name=obj.getName();
String url=obj.getUrl();
intent=new Intent(getActivity(),player.class);
intent.putExtra("task","Draft");
intent.putExtra("name",name);
intent.putExtra("read_path",url);
startActivityForResult(intent, 0);

}
});
Run Code Online (Sandbox Code Playgroud)

我点击列表项时得到的错误是:

    05-09 16:19:07.723: D/PhoneWindow(7043): couldn't save which view has focus because the focused view android.widget.LinearLayout@44ecc1d8 has no id.
05-09 16:19:07.741: D/AndroidRuntime(7043): Shutting down VM
05-09 16:19:07.741: W/dalvikvm(7043): threadid=3: thread exiting with uncaught exception (group=0x4001b188) …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-tabhost android-fragments

0
推荐指数
1
解决办法
2050
查看次数