【问题标题】:"cannot find symbol" error w/ AudioTrack带有 AudioTrack 的“找不到符号”错误
【发布时间】:2011-07-18 15:03:43
【问题描述】:

考虑到我在今天之前从未写过一行 Java,我确定我错过了一些明显的东西。无论如何,我正在开发一个使用 AudioTrack 类来播放生成的音频的 Android 应用程序。

我正在导入我认为应该导入的所有内容:

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.CheckBox;
import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;

在我的 Activity 类中,我有这个功能:

public AudioTrack toneToAudioTrack(byte samples[], int numSamples) {
    final AudioTrack audioTrack = new AudioTrack(
        AudioManager.STREAM_MUSIC,
        sampleRate,
        AudioFormat.CHANNEL_CONFIGURATION_MONO,
        AudioFormat.ENCODING_PCM_8BIT,
        numSamples,
        AudioTrack.MODE_STATIC
    );

    audioTrack.write(samples, 0, numSamples);

    return audioTrack;
}

当我尝试用 ant 编译时,我得到了这个:

编译:
[javac] /opt/android-sdk-update-manager/tools/ant/main_rules.xml:384:警告:'includeantruntime' 不是
设置,默认为
build.sysclasspath=last;设置为假
用于可重复构建
[javac] 编译2个源文件到/home/electrode/ditdah/bin/classes
[javac] /home/electrode/ditdah/src/org/n8fq/DitDah/DitDahActivity.java:38:
找不到符号
[javac] 符号:构造函数 AudioTrack(int,double,int,int,int,int)
[javac] 位置:类 android.media.AudioTrack
[javac] audioTrack = new AudioTrack(
[javac] ^
[javac] 1 个错误

构建失败
/opt/android-sdk-update-manager/tools/ant/main_rules.xml:384:编译失败;查看编译器错误
输出以获取详细信息。

那么,我错过了什么?

【问题讨论】:

    标签: java android


    【解决方案1】:

    constructor 的第二个参数应该是一个 int

    final AudioTrack audioTrack = new AudioTrack(
        AudioManager.STREAM_MUSIC,
        (int) sampleRate,
        AudioFormat.CHANNEL_CONFIGURATION_MONO,
        AudioFormat.ENCODING_PCM_8BIT,
        numSamples,
        AudioTrack.MODE_STATIC
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多