小编use*_*267的帖子

当我在java中打印**这个**指针时它显示的数字是多少?

这个计划

public class HelloWorld{
    public void testFunc(){
        System.out.println("Class = "+this);
    }

    public static void main(String[] args){
        HelloWorld hw = new HelloWorld();
        System.out.println("Hello, World");
        hw.testFunc();
    }
}  
Run Code Online (Sandbox Code Playgroud)

给我这个输出:

Hello, World
Class = HelloWorld@7c6768
Run Code Online (Sandbox Code Playgroud)

这是什么@7c6768的HelloWorld后,在第二行是什么意思?

java

6
推荐指数
3
解决办法
991
查看次数

.aac 和 .m4a 文件中音频数据在字节级别的差异

这是为了尝试理解 aac 文件结构

为简单起见,我们可以假设 m4a 文件仅包含 aac 音频(即没有视频)

我正在比较 m4a 文件和使用 faac 库从 m4a 文件生成的 aac 文件

两个文件的字节级对比截图如下:

在此输入图像描述

上半部分是m4a文件,下半部分是aac文件

对于第一帧,从下部开始,AAC ADTS 标头是,FF F9 4C 80 12 3F FC这里这里开始,实际的 aac 音频数据应该有 138 字节

从下半部分我们可以看到来自 的字节与上窗口中的数据块(绿色部分)相 DE匹配80

我假设我已经在 m4a 文件中找到了实际 aac 音频数据存储位置的偏移量。我虽然21 4C ...上面的窗口中的字节包含了下一帧 aac 音频的所有字节,如果我们看下面的窗口,我们确实可以看到... a3 80(下面的窗口中绿色部分的末尾)后面是另一个 ADTS 标头(FF F9 4C 80 12 1F FC,表示下一个 aac 帧中的音频数量应为 137 字节)

然而,从aac文件中读取的字节与预期的m4a文件中的字节不匹配,如下图所示:

在此输入图像描述

它们匹配到某个点,但之后的一切看起来都是随机的。

m4a 文件和从它创建的相应 aac 文件在字节级别上有什么关系?

主要目标是能够修改这个 …

audio aac m4a

6
推荐指数
0
解决办法
1767
查看次数

每当m文件执行停止时,在MATLAB中运行默认脚本

每当执行m文件停止时,是否可以让matlab运行默认脚本?我并不是指在退出matlab时运行的finish.m,即使我按ctrl + C打破正在运行的脚本的执行,我也希望能够运行脚本.这可能吗?

matlab

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

Android应用程序上的活动和线程有什么区别?

我对Android应用程序上的活动和线程之间的区别感到困惑。那么活动是否像独立线程一样?如果可以,那么多个活动可以同时在多线程应用程序中运行吗?

谢谢

android android-activity

5
推荐指数
3
解决办法
4846
查看次数

不明白java中对象的范围(java newbie confusion)

这个问题是基于Java中Thinking of Object ,第2版,第109页的对象范围,它说当我们使用new创建一个Java对象时,它会绕过范围的末尾.它给出了这个例子:

{ 
  String s = new String("a string"); 
} /* end of scope */ 
Run Code Online (Sandbox Code Playgroud)

然后它说,

参考 小号消失在范围的端部.但是,s指向的String对象仍占用内存.在这段代码中,无法访问对象,因为对它的唯一引用超出了范围.

因此,如果我理解正确,文本"a string"仍然存在于内存中,但是具有第一个字符"a"的内存地址的指针不存在.这是什么意思?

它继续说,

事实证明,因为使用new创建的对象只要你想要它们就会存在,所以在Java中,大量的C++编程问题就会消失.

为什么这会有利?在上面的例子中,字符串数据继续驻留在内存中,无法访问它(因为指针在超出范围后被销毁),这只占用了资源.

java

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

获取由 NFC 读写器(基本 NFC)检测到的 Android 手机

如果我有 NFC 读取器/写入器设备,我可以让它检测支持 NFC 的 Android 手机,以便我可以将数据从手机传输到设备吗?我在 Stackoverflow 上找到了一些与卡模拟相关的链接,但他们都说卡模拟是不可能的或太难了

如何让安卓手机充当非接触式智能卡?
NFC 卡模拟 Android
Android NFC 手机可以充当 NFC 标签吗?
NFC - p2p 模式方案
NFC Peer2Peer 模式 - Android Beam - ISO 18092
Galaxy Nexus 4.1.1 和 ISO14443 阅读器

但是我在网上找到的一份pdf文件说

卡模拟模式基于 ISO 标准 ISO 14443-A 和 ISO 14443-B,这些标准得到了 NFC 论坛的认可。

而且,还进一步说NFC论坛也认可P2P模式,如果我理解正确的话,这也就像一部手机工作在读卡器仿真模式而另一部工作在卡仿真模式

因此,如果我有一部支持 NFC 的手机和 USB 读/写器,例如THIS ONE,我可以让它将我的手机检测为 NFC 设备并将一些数据从我的手机传输到读/写器吗?

---编辑---
注意:我不是在谈论让手机作为安全支付系统或类似的东西工作,我的问题更基本:如果我发送一些数据(比如一个字符串“ABC”或一些编号 1234)从我的手机使用 NFC,我可以让外部读取器/写入器检测到它吗?

android smartcard nfc smartcard-reader nfc-p2p

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

android模拟器可以播放音频吗?

我想录制并将录制的声音传递给手机的扬声器,但我无法让录音代码正常工作(应用程序崩溃,请在此处查看我的尝试)所以我现在正在尝试查看模拟器是否可以执行与音频相关的任何操作或不.我复制了1秒的录音,包括wav(16位pcm,44k采样频率,单声道)和mp3(通过Audacity完成录制和转换)到sdcard.我可以在IDE的文件浏览器中看到这些文件,所以我想模拟器正在正确检测到SD卡.但我无法让模拟器的内置音乐播放器来检测它们(为什么??).

作为第二次尝试,我将代码HERE复制到示例hello world Android应用程序中.这是主要的活动类

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // String PATH_TO_FILE = "/sdcard/asMP3.mp3";
        // String PATH_TO_FILE = Environment.getExternalStorageDirectory().getPath()+"/asMP3.mp3";
        String PATH_TO_FILE = Environment.getExternalStorageDirectory().getPath()+"/wavSigned16bitPCM.wav";
        MediaPlayer mp1 = new MediaPlayer();
        try
        {

            mp1.setDataSource(PATH_TO_FILE);
            mp1.prepare();
            mp1.start();
            Toast.makeText(getApplicationContext(), "HERE", Toast.LENGTH_SHORT).show();
        }
        catch (IllegalArgumentException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IllegalStateException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch …
Run Code Online (Sandbox Code Playgroud)

audio android android-emulator

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

android模拟器根本不播放任何声音(包括内置的Text-To-Speech引擎示例)

我一直在试图让模拟器播放声音,因为在过去数天,但没有什么工作
,请看看我的其他问题,这里这里
最糟糕的是我甚至不能确定是否使用模拟器与声音的任何作业(录音或甚至是可能的回放).一些论坛暗示这是可能的,其他人暗示它不是,但它根本不适合我的情况.如果没有别的,我假设至少内置于仿真器OS本身的声音功能应该工作.但我只是尝试播放内置TTS引擎提供的示例,它也没有给我任何输出.

如何通过模拟器获得任何声音,这甚至可能吗? - 编辑 - :解决了,请继续阅读,看看如何

我是否必须使用真正的设备进行声音相关的实验?在真实设备中也会出现同样的问题吗?顺便说一句,在真实设备上进行编程会像在模拟器中一样慢吗?还是快?或者它仍然缓慢但比模拟器稍快?我想确保在我得到一个真正的Android设备之前我可以做所有基本的东西.

-----编辑-----
我终于让声音工作了(至少是TTS样本)
事实证明启用快照导致了这个问题
**自从r10以来,MediaPlayer不再在模拟器上工作了吗? **
但这给我带来了一个完全不同的问题:
为什么世界上启用/禁用快照与audioplayback有什么关系?此外,如果我没有启用快照,则需要再次加载我想要使用的下一个领带,因此我必须启用快照功能

这是什么原因?为什么没有正确记录?

---更新---
在具有工作声音的虚拟设备中,我重新启动它启用快照,然后通过快照再次重新启动它,现在声音再次无效.因此看起来这与启用或禁用快照有关,而不是在拍摄快照时(因此可能使问题与Windows更新有关,如我在回答的问题中所解释的那样,无关紧要)

android android-emulator

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

Android上的Google语音识别器是否需要互联网?

我使用以下代码通过谷歌调用语音识别器:

// This is a demonstration of Android's built in speech recognizer

package com.example.voiceinputbuiltintest;

import java.util.ArrayList;
import java.util.Locale;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.speech.RecognizerIntent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

    private static final int VOICE_RECOGNITION = 1;
    Button speakButton ;
    TextView spokenWords; 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        speakButton = (Button) findViewById(R.id.button1);  
        spokenWords = (TextView)findViewById(R.id.textView1);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; …
Run Code Online (Sandbox Code Playgroud)

android voice-recognition

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

在 Android Studio MacOS 中清理项目时出现“ninja”错误

我在 macos mojave 中使用 Android Studio 3.5

我有一个项目,在一个文件夹中包含 java 和 ndk 代码,我们称之为“project_folder_A”

我复制了这个文件夹,将其重命名为“project_folder_B”并继续进行修改;project_folder_A 现已删除

一切都按预期工作,但是,如果我尝试清理项目,或将其从当前的“发布”模式更改为“调试”模式以再次编译,我会收到一条错误消息

ninja: fatal: chdir to '..!!folder_path!!.../project_folder_A/app/.cxx/cmake/debug/armeabi-v7a' - No such file or directory    
Run Code Online (Sandbox Code Playgroud)

我在当前项目或 gradle 文件中的任何位置都找不到对 project_folder_A 的引用。为什么 android studio 仍然记得旧的项目文件夹?如何删除对旧文件夹名称的所有引用并强制使用当前项目文件夹来编译所有内容?

- - 编辑:

更仔细地查看长错误消息,确切的问题是这一行

Error while executing process ..!!sdk path!!.../Android/sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C ..!!folder_path!!.../project_folder_A/app/.cxx/cmake/debug/armeabi-v7a clean}  
Run Code Online (Sandbox Code Playgroud)

这会导致错误,因为project_folder_A不存在。长构建错误消息中的所有其他异常错误似乎都是由此错误引起的。

android compilation android-ndk android-studio ninja

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