我通过加载文件并通过FileInputStream> BufferedInputStream> DataInputStream方法将字节输入AudioTrack.write()来在我的Android手机上播放WAV.音频播放效果很好,如果是,我可以轻松调整采样率,音量等,性能良好.然而,一首曲目开始播放大约需要两秒钟.我知道AudioTrack有一个不可避免的延迟,但这太荒谬了.我每次播放曲目都会得到:
03-13 14:55:57.100: WARN/AudioTrack(3454): obtainBuffer timed out (is the CPU pegged?) 0x2e9348 user=00000960, server=00000000
03-13 14:55:57.340: WARN/AudioFlinger(72): write blocked for 233 msecs, 9 delayed writes, thread 0xba28
Run Code Online (Sandbox Code Playgroud)
我注意到,每次播放曲目时,延迟的写入次数会增加一次 - 即使是在多个会话中 - 从手机开机之时起.块时间始终为230 - 240ms,考虑到此设备上的最小缓冲区大小为9600(9600/44100),这是有意义的.我在互联网上的无数次搜索中看到了这个消息,但它通常似乎与不播放音频或跳过音频有关.就我而言,这只是一个延迟的开始.
我正在高优先级的线程中运行我的所有代码.这是我正在做的截断但功能正常的版本.这是我的播放类中的线程回调.再次,这是有效的(现在只播放16位,44.1kHz,立体声文件),它只需要永远启动并且每次都有获取缓冲/延迟写入消息.
public void run() {
// Load file
FileInputStream mFileInputStream;
try {
// mFile is instance of custom file class -- this is correct,
// so don't sweat this line
mFileInputStream = new FileInputStream(mFile.path());
} catch (FileNotFoundException e) {
// log
}
BufferedInputStream mBufferedInputStream …Run Code Online (Sandbox Code Playgroud) 我正在尝试按照本教程实施Google跟踪代码管理器:https: //developers.google.com/tag-manager/android/v4/
当我运行应用程序时,我在控制台中遇到这些错误:
05-22 12:27:44.490 V/GoogleTagManager? Attempting to load a container from the resource ID 2131099650 (testconverteo.ismail.converteotag:raw/gtm_default_container)
05-22 12:27:44.520 E/GoogleTagManager? Invalid macro: _gtm.loadEventEnabled
05-22 12:27:44.520 V/GoogleTagManager? loadAfterDelay: containerId=GTM-XXXXX delay=29397190
05-22 12:27:44.530 E/GoogleTagManager? Invalid macro: _gtm.loadEventEnabled
05-22 12:27:44.490 W/GoogleTagManager? Failed to extract the container from the resource file. Resource is a UTF-8 encoded string but doesn't contain a JSON container
Run Code Online (Sandbox Code Playgroud)
我在Google Analytics中没有实时数据,甚至没有任何数据证明我的应用程序已被跟踪.
如果有人遇到同样的问题,或者他已经按照相同的步骤知道如何解决这个问题,请在评论中留下解释.
我做的步骤:
compile 'com.google.android.gms:play-services:7.3.0'我目前在启动画面活动中拥有的内容如下:
public class SplashScreenActivity extends …Run Code Online (Sandbox Code Playgroud) 我正在创建 Flutter 插件。我将回调从 Android 发送到 Flutter 的渠道很少。情况是我正在侦听一些在主 UI 线程之外的其他线程中触发的事件。
最近 Flutter 更新后我开始收到这样的错误
E/AndroidRuntime( 9400): FATAL EXCEPTION: STARTING
E/AndroidRuntime( 9400): Process: com.northernbitcoin.coinyacapp, PID: 9400
E/AndroidRuntime( 9400): java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread. Current thread: STARTING
E/AndroidRuntime( 9400): at io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:794)
E/AndroidRuntime( 9400): at io.flutter.embedding.engine.FlutterJNI.dispatchPlatformMessage(FlutterJNI.java:684)
E/AndroidRuntime( 9400): at io.flutter.embedding.engine.dart.DartMessenger.send(DartMessenger.java:80)
E/AndroidRuntime( 9400): at io.flutter.embedding.engine.dart.DartExecutor.send(DartExecutor.java:174)
E/AndroidRuntime( 9400): at io.flutter.view.FlutterNativeView.send(FlutterNativeView.java:144)
E/AndroidRuntime( 9400): at io.flutter.plugin.common.EventChannel$IncomingStreamRequestHandler$EventSinkImplementation.success(EventChannel.java:226)
...
Run Code Online (Sandbox Code Playgroud)
我找到的唯一信息在这里 https://github.com/flutter/flutter/issues/34993
是的,这里有一个解决方案 https://github.com/flutter/flutter/issues/34993#issue-459900986
但这对我来说似乎太开销了,因为我不想handler为每个事件创建新的
还有其他解决方案吗?
我有两个由tabhost管理的ListFragments.我在标签之间切换的时间都很好.headerView已正确添加.我第二次在片段之间切换我得到这个execption:
10-05 15:15:01.585: ERROR/AndroidRuntime(23263): java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.
10-05 15:15:01.585: ERROR/AndroidRuntime(23263): at android.widget.ListView.addHeaderView(ListView.java:261)
10-05 15:15:01.585: ERROR/AndroidRuntime(23263): at android.widget.ListView.addHeaderView(ListView.java:284)
10-05 15:15:01.585: ERROR/AndroidRuntime(23263): at it.chiesacattolica.archive.ArchiveFragment.onActivityCreated(ArchiveFragment.java:199)
10-05 15:15:01.585: ERROR/AndroidRuntime(23263): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:858)
10-05 15:15:01.585: ERROR/AndroidRuntime(23263): at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1183)
Run Code Online (Sandbox Code Playgroud)
和应用程序崩溃.我用来添加标题视图的代码如下:
@Override
public void onActivityCreated(Bundle arg0) {
super.onActivityCreated(arg0);
getListView().setOnScrollListener(this);
getListView().addHeaderView(searchBox);
setListAdapter(mAdapter);
}
Run Code Online (Sandbox Code Playgroud)
怎么了 ?提前致谢