EditText에 글자를 입력할 때마다 사운드를 발생시키는 프로젝트
Sound + EditText
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 | package 패키지명; import android.app.Activity; import android.content.Context; import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; import android.util.AttributeSet; import android.widget.EditText; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } class SoundEditWidget extends EditText { SoundPool mPool = null; int mClick; public SoundEditWidget(Context context) { super(context); init(context); } public SoundEditWidget(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public SoundEditWidget(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context); } void init(Context context) { mPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0); mClick = mPool.load(context, R.raw.click, 1); } protected void onTextChanged(CharSequence text, int start, int before, int after) { if (mPool != null) { mPool.play(mClick, 1, 1, 0, 0, 1); } } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="문자를 입력하면 소리가 납니다." /> <lhr.soundedit.SoundEditWidget android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="30sp" /> </LinearLayout> | cs |
'[미네르바's IT] > [미네르바's 안드로이드]' 카테고리의 다른 글
안드로이드 Log 레벨 (0) | 2017.10.12 |
---|---|
안드로이드 editText max 설정 (0) | 2017.10.12 |
안드로이드 SoundPool Play (0) | 2017.10.10 |
안드로이드 스튜디오 애드몹 테스트 광고 달기 (0) | 2017.08.07 |
안드로이드 스튜디오 애드몹 광고 달기 2차 - 소스코드 수정 (0) | 2017.08.04 |