Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Воспроизвести звук по нажатию кнопки - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Open file dialog http://www.cyberforum.ru/android-dev/thread863357.html
доброго времени. вопрос простой - как сделать (вызвать, если уже есть такой) диалог выбора и открытия файла. аналог Open File Dialog в .NET.
Программирование Android Просмотр файлов другого устройства по Bluetooth Здраствуйте, мне нужна помощь (я начинаю только программировать на андроид). Как на сэмпловском примере блютуз чата можно сделать просмотр файлов(директорий) другого телефона на андроид? Если не... http://www.cyberforum.ru/android-dev/thread863290.html
Программирование Android ListView на ViewPager
Добрый день. Есть простенький ViewPager на layout. Там где на layout просто TextView заполняемый из констант все ок. А там где на layout должен быть ListView - пусто. Все делал по примерам из...
shape, управление границей Программирование Android
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:radius="5dp" /> <solid...
Программирование Android Facebook api. Отправка личного сообщения http://www.cyberforum.ru/android-dev/thread862974.html
Здравствуйте. Не получается создать запрос на отправку личного сообщения пользователю. Пробовал гуглить искать информацию, но нашёл только пример отправки сообщения на стену:...
Программирование Android Цвет текста и Color State List <EditText android:background="@drawable/text_view_edit_style" //все ОК android:textColor="@drawable/text_view_edit_color" // падает /> text_view_edit_style <?xml... подробнее

Показать сообщение отдельно
SlashX6
16 / 16 / 1
Регистрация: 16.03.2012
Сообщений: 430

Воспроизвести звук по нажатию кнопки - Программирование Android

13.05.2013, 13:46. Просмотров 4550. Ответов 2
Метки (Все метки)

Добрый день!

Используя пример, написал приложение, которое по нажатию на кнопку воспроизводит определённый звук.
Но загвоздка в том, что на все строки такого типа, Eclipse выдаёт ошибку.

Java
1
playSound(factory1);
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package com.example.clicktolisten;
 
import java.io.IOException;
 
import android.app.Activity;
import android.content.Context;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
 
public class MainActivity extends Activity {
    
    SoundPool soundPool;
    AssetManager assets;
    int factory1, factory2, factory3, traffic;
    Context context;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        context = this;
        soundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
        assets = getAssets();
        
        // Прикручиваем путь к звуку
        factory1 = loadSound("factorywhistle_01.mp3");
        factory2 = loadSound("factorywhistle_02.mp3");
        factory3 = loadSound("factorywhistle_03.mp3");
        traffic  = loadSound("traffic_02.mp3");
        
        
        Button factory1 = (Button) this.findViewById(R.id.button1);
        factory1.setOnClickListener( new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                playSound(factory1);
            }
        });
        
        Button factory2 = (Button) this.findViewById(R.id.button2);
        factory2.setOnClickListener( new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                playSound(factory2);
            }
        });
        
        Button factory3 = (Button) this.findViewById(R.id.button3);
        factory3.setOnClickListener( new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                playSound(factory3);
            }
        });
        
        Button traffic  = (Button) this.findViewById(R.id.button4);
        traffic.setOnClickListener( new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                playSound(traffic);
            }
        });
    }
    
    
    protected void playSound( int sound ) {
        // TODO Auto-generated method stub
        if ( sound > 0 )
            soundPool.play(sound, 1, 1, 1, 0, 1);
    }
 
    private int loadSound(String fileName) {
        // TODO Auto-generated method stub
        AssetFileDescriptor aFileDescriptor = null;
        try {
            aFileDescriptor = assets.openFd(fileName);
        } catch ( IOException e ) {
            e.printStackTrace();
            Toast.makeText( this, "Could't load file"+ fileName, Toast.LENGTH_SHORT).show();
            return -1;
        }
        return soundPool.load(aFileDescriptor, 1);
    }
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru