我正在使用AudioRecord类来分析麦克风中的原始pcm字节.
所以那很好用.现在我需要将pcm字节转换为分贝.
我有一个公式,将Pa中的声音压力设为db.
db = 20*log10(Pa/ref Pa)
所以问题是我从缓冲区得到的字节是从振荡器得到的振幅帕斯卡声压力是什么.
我试图把这个值放到te公式中,但是它带有非常高的db,所以我不认为它是正确的
谢谢
我写了一段代码来从Android 2.1中的URL添加铃声.在Froyo,它根本不想工作.
sendBroadcast(new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri
.fromFile(file)));
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA,
file.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, filenameBase);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(AudioColumns.IS_RINGTONE, true);
values.put(AudioColumns.IS_NOTIFICATION, false);
values.put(AudioColumns.IS_ALARM, false);
values.put(AudioColumns.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(file
.getAbsolutePath());
Uri newUri = RingtoneModule.this.getContentResolver()
.insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(
RingtoneModule.this, RingtoneManager.TYPE_RINGTONE,
newUri);
Run Code Online (Sandbox Code Playgroud)
当我插入时,我得到这个例外:
11-17 09:54:51.802: ERROR/DatabaseUtils(379): java.lang.IllegalStateException: Unknown URL: content://media/external/audio/albumart/-1
11-17 09:54:51.802: ERROR/DatabaseUtils(379): at com.android.providers.media.MediaProvider.query(MediaProvider.java:1666)
11-17 09:54:51.802: ERROR/DatabaseUtils(379): at com.android.providers.media.MediaProvider.getAlbumArtOutputUri(MediaProvider.java:2983)
11-17 09:54:51.802: ERROR/DatabaseUtils(379): at com.android.providers.media.MediaProvider.makeThumbInternal(MediaProvider.java:3192)
11-17 09:54:51.802: ERROR/DatabaseUtils(379): at com.android.providers.media.MediaProvider.getThumb(MediaProvider.java:3070)
11-17 09:54:51.802: ERROR/DatabaseUtils(379): at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:2029)
11-17 09:54:51.802: ERROR/DatabaseUtils(379): at com.android.providers.media.MediaProvider.insert(MediaProvider.java:1843)
11-17 …Run Code Online (Sandbox Code Playgroud) 我创建了一个带有服务的库,我希望能够在多个apk中绑定.
这是我的图书馆清单
<service class=".service.MyService" android:permission="com.wissen.permission.MY_SERVICE_PERMISSION">
<intent-filter>
<action android:value="com.wissen.testApp.service.MY_SERVICE" />
</intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)
这是我的apk清单
<uses-permission android:name="com.wissen.permission.MY_SERVICE_PERMISSION"></uses-permission>
Run Code Online (Sandbox Code Playgroud)
我当然将lib添加到apk.我继续找不到服务(警告).我究竟做错了什么.
我用这种方式绑定它
bindService(new Intent("com.wissen.testApp.service.MY_SERVICE"), conn, Context.BIND_AUTO_CREATE);
Run Code Online (Sandbox Code Playgroud)
解决方案:
我为这些创建了aidl,现在工作正常.
看起来像我的#$#%$%#$接收器不是清单中的应用程序元素
你好
我刚刚创建了helloworld appwidget以了解它的工作原理.我在adroid开发站点上关注了dev示例.但由于某种原因,小部件不希望在小部件列表中显示.
AndroidManifest.xml中
<receiver android:name="VoiceRIAWidget" android:label="Voice RIA">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget_info" />
</receiver>
Run Code Online (Sandbox Code Playgroud)
appwidget_info.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:label="Voice RIA" android:minWidth="50dp" android:minHeight="50dp"
android:updatePeriodMillis="86400000" android:initialLayout="@layout/appwidget">
</appwidget-provider>
Run Code Online (Sandbox Code Playgroud)
VoiceRIAWidget
public class VoiceRIAWidget extends AppWidgetProvider
{
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds)
{
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++)
{
int appWidgetId = appWidgetIds[i];
CharSequence text = "Hello";
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.appwidget);
views.setTextViewText(R.id.appwidget_text, text); …Run Code Online (Sandbox Code Playgroud) 我正在写一个网络服务器.我实现了GET和POST(application/x-www-form-urlencoded,multipart/form-data),并且工作正常.
我正在考虑将RESTful模块添加到服务器.那么看看那里的一些东西,并得到关于何时PUT,POST和GET的意见.
我的问题是:什么编码(application/x-www-form-urlencoded,multipart/form-data)支持PUT(根据HTTP规范),还是可以同时处理两者?
我试图使网络服务器尽可能标准化,而不是在脚下拍摄自己.
这是一个快速剪切.
Map<String, String> map = new HashMap<String, String>();
map.put("1", "1");
map.put("2", "1");
Ordering<String> valueComparator = Ordering.from(String.CASE_INSENSITIVE_ORDER).onResultOf(Functions.forMap(map));
Map<String, String> sortedMap = ImmutableSortedMap.copyOf(map, valueComparator);
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了这个例外.
java.lang.IllegalArgumentException: Duplicate keys in mappings 2=1 and 1=1
at com.google.common.collect.ImmutableSortedMap.validateEntries(ImmutableSortedMap.java:304)
at com.google.common.collect.ImmutableSortedMap.copyOfInternal(ImmutableSortedMap.java:281)
at com.google.common.collect.ImmutableSortedMap.copyOf(ImmutableSortedMap.java:220)
at com.dbs.datasource.TestBeans.test(TestBeans.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:243)
at junit.framework.TestSuite.run(TestSuite.java:238)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) …Run Code Online (Sandbox Code Playgroud) 我有一个简单的auth中间件用于表达.它检查标题,如果所有酷,它调用next()
现在,当我在"DoSomething"中时,"this"等于全局,而不是"Test"和"this.DoSomeThingPrivate"的实例未定义.
我试过了
DoSomeThingPrivate :() => void;
this.DoSomeThingPrivate = () => {
...
}
Run Code Online (Sandbox Code Playgroud)
图案.但也行不通.
import express = require('express');
var app = express();
class Test {
constructor() {
}
DoSomething(req:express.Request, res:express.Response, next:Function) :void {
this.DoSomeThingPrivate();
}
private DoSomeThingPrivate() :void
{
}
}
var test = new Test();
app.use(test.DoSomething);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗...
谢谢