2013-11-07 1 views
0

как следует из названия, мое приложение не запускается, а отладчик фокусируется на этой строке. Приложение не создает пользовательский интерфейс, а отладчик фокусируется на одной конкретной строке.Android, приложение не запустилось

public void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
enabled = (CheckBox)findViewById(R.id.enabled); 
enabled.setOnCheckedChangeListener (this); 

flat = (Button)findViewById(R.id.flat); 
flat.setOnClickListener(this); 

bass_boost = (SeekBar)findViewById(R.id.bass_boost); 
bass_boost.setOnSeekBarChangeListener(this); 
bass_boost_label = (TextView) findViewById (R.id.bass_boost_label); 

sliders[0] = (SeekBar)findViewById(R.id.slider_1); 
slider_labels[0] = (TextView)findViewById(R.id.slider_label_1); 
//More sliders 



eq = new Equalizer (0, 0);//<----------------------------This line 
if (eq != null) 
    { 
    eq.setEnabled (true); 
    int num_bands = eq.getNumberOfBands(); 
    num_sliders = num_bands; 
    short r[] = eq.getBandLevelRange(); 
    min_level = r[0]; 
    max_level = r[1]; 
    for (int i = 0; i < num_sliders && i < MAX_SLIDERS; i++) 
    { 
    int[] freq_range = eq.getBandFreqRange((short)i); 
    sliders[i].setOnSeekBarChangeListener(this); 
    slider_labels[i].setText (formatBandLabel (freq_range)); 
    } 
    } 
for (int i = num_sliders ; i < MAX_SLIDERS; i++) 
    { 
    sliders[i].setVisibility(View.GONE); 
    slider_labels[i].setVisibility(View.GONE); 
    } 

bb = new BassBoost (0, 0); 
if (bb != null) 
    { 
    } 
else 
    { 
    bass_boost.setVisibility(View.GONE); 
    bass_boost_label.setVisibility(View.GONE); 
     } 

updateUI(); 
} 

Как правильно запустить приложение?

+3

Что точная ошибка, которую вы получаете? – SolarBear

+0

, на какой строке отображается ошибка? – krishna

+0

Ошибок нет, просто скажите мне «Отладить текущую инструкцию». – Clueless

ответ

0

Параметры -priority: уровень приоритета, запрошенный приложением для управления двигателем эквалайзера. Поскольку один и тот же движок может использоваться несколькими приложениями, этот параметр указывает, сколько запрашивающему приложению требуется управление параметрами эффекта. Обычный приоритет равен 0, выше нормального - это положительное число, ниже нормального отрицательного числа.

-audioSession system уникальный уникальный идентификатор сеанса аудио. Эквалайзер будет подключен к MediaPlayer или AudioTrack в том же сеансе аудио.

Я предполагаю, что 0 не является системой широкий уникальный идентификатор ..

Edit: Проверьте AudioFxDemo в образцах (SDK \ Samples \ андроид-16 \ ApiDemos \ SRC \ COM \ пример \ андроида \ APIs \ Media).

Отрывок Фрон образец:

private MediaPlayer mMediaPlayer; 
private Equalizer mEqualizer; 

@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    mMediaPlayer = MediaPlayer.create(this, R.raw.your_media_file_here); 

    // Create the Equalizer object (an AudioEffect subclass) and attach it to our media player, 
    // with a default priority (0). 
    mEqualizer = new Equalizer(0, mMediaPlayer.getAudioSessionId()); 
    mEqualizer.setEnabled(true); 


} 
+0

Спасибо за ответ. Но что, если я использую AudioTrack? Я пытаюсь направить звук с микрофона на динамик в реальном времени, учитывая выбор для фильтрации звука. – Clueless

+0

mEqualizer = новый эквалайзер (0, mAudioTrack.getAudioSessionId()); – Dage

+0

Я сделал, как вы сказали, но теперь отладчик останавливается на защищаемого ничтожной OnCreate (Bundle savedInstanceState) { \t \t super.onCreate (savedInstanceState); \t \t setContentView (R.layout.activity_main); \t \t // Аудио, микрофон для динамика \t \t комплектVolumeControlStream (AudioManager.STREAM_MUSIC); initControls(); mAudioThread = новый AudioThread(); mAudioThread.start(); mEqualizer = новый эквалайзер (0, mAudioTrack.getAudioSessionId()); // <------ эта строка mEqualizer.setEnabled (true); // end – Clueless

Смежные вопросы