Principalement pour le développement d'applications Android, le langage java est la première fois, donc je pense que la mise en page est en lambeaux et qu'il y a des endroits où creuser. Si vous n'aimez pas le matériel, nous vous recommandons de retourner le navigateur ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇
・ Les personnes qui n'ont pas 1103 billions 354,3 milliards de yens ・ Les gens qui veulent écraser facilement des bonbons ·Gourmet ・ Star Jun ・ Pon partout! crash! crash! Pappappa! Qui veut
https://www.nicovideo.jp/watch/sm37827489 https://www.youtube.com/watch?v=CkE88pO2VAI
Puisqu'il s'agira d'une application errante, je pense que vous pouvez l'installer si vous vous référez à l'article de gumby
Planification, définition des besoins, etc. => 3 secondes Construction de l'environnement, programmation => 6 heures 6 heures 3 secondes au total
PON!! CRASH!! UMASOO!! GOURMETSPYZER!!
Appuyez sur le bouton et Trico parlera
Son épicé Lorsque vous appuyez sur le bouton>, la lumière du flash brille et vous pouvez facilement reproduire l'exemple de scène.
Appuyez à nouveau sur le bouton pour éteindre le flash
huwei p30 lite
MainActivity.java
import android.media.AudioAttributes;
import android.media.SoundPool;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.os.Handler;
import android.content.Context;
public class MainActivity extends AppCompatActivity {
private SoundPool soundPool;
private int soundPon, soundCresh,soundUmasooo,soundGourmetSpyzer,UfoSoundEffect;
private Button button1, button2,button3,button4,button5;
private CameraManager McameraManager;
private String McameraID;
private boolean SW;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
McameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
AudioAttributes audioAttributes = new AudioAttributes.Builder()
// USAGE_MEDIA
// USAGE_GAME
.setUsage(AudioAttributes.USAGE_GAME)
// CONTENT_TYPE_MUSIC
// CONTENT_TYPE_SPEECH, etc.
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.build();
soundPool = new SoundPool.Builder()
.setAudioAttributes(audioAttributes)
//En fonction du nombre de flux
.setMaxStreams(5)
.build();
//Charger wav
soundPon = soundPool.load(this, R.raw.pon, 1);
soundCresh = soundPool.load(this, R.raw.crash, 1);
soundUmasooo = soundPool.load(this, R.raw.umasooo, 1);
soundGourmetSpyzer = soundPool.load(this, R.raw.gourmetspyzer, 1);
UfoSoundEffect = soundPool.load(this, R.raw.ufosoundeffect, 1);
soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
Log.d("debug", "sampleId=" + sampleId);
Log.d("debug", "status=" + status);
}
});
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button4 = findViewById(R.id.button4);
button5 = findViewById(R.id.button5);
button1.setOnClickListener(v -> {
// pon.lecture wav
// play(ID chargé,Volume gauche,Bon volume,priorité,boucle,Vitesse de lecture)
soundPool.play(soundPon, 1.0f, 1.0f, 0, 0, 1);
});
button2.setOnClickListener(v -> {
// crash.lecture wav
soundPool.play(soundCresh, 1.0f, 1.0f, 1, 0, 1);
});
button3.setOnClickListener(v -> {
// Umasooo.lecture wav
soundPool.play(soundUmasooo, 1.0f, 1.0f, 1, 0, 1);
});
button4.setOnClickListener(v -> {
// gourmetspyzer.lecture wav
soundPool.play(soundGourmetSpyzer, 1.0f, 1.0f, 1, 0, 1);
});
button5.setOnClickListener(v -> {
soundPool.play(UfoSoundEffect, 1.0f, 1.0f, 1, 0, 1);
//Ne faites rien si vous ne pouvez pas obtenir la caméra
if (McameraID == null) {
return;
}
try {
if (SW == false) {
//Si SW est faux, réglez le mode de la torche sur vrai et activez LDE
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
McameraManager.setTorchMode(McameraID, true);
}
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
McameraManager.setTorchMode(McameraID, false);
}
//Si SW est vrai, réglez le mode de la torche sur faux et désactivez LDE
}
} catch (CameraAccessException e) {
//La gestion des erreurs
e.printStackTrace();
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
McameraManager.registerTorchCallback(new CameraManager.TorchCallback() {
//Traitement lorsque le mode de la torche est modifié
@Override
public void onTorchModeChanged(String cameraId, boolean enabled) {
super.onTorchModeChanged(cameraId, enabled);
//Définir l'ID de la caméra
McameraID = cameraId;
//Définissez l'état actuel sur SW
SW = enabled;
}
}, new Handler());
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="20dp"
android:text="pon!!"
app:backgroundTint="#F44336"
app:layout_constraintBottom_toBottomOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="@+id/button5" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginBottom="20dp"
android:text="crash!!"
app:backgroundTint="#F44336"
app:layout_constraintBottom_toBottomOf="@+id/imageView"
app:layout_constraintStart_toEndOf="@+id/button3" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginBottom="20dp"
android:text="umasoo!!"
app:backgroundTint="#F44336"
app:layout_constraintBottom_toBottomOf="@+id/imageView"
app:layout_constraintStart_toStartOf="parent"
app:strokeColor="#F44336" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="9dp"
android:layout_marginRight="9dp"
android:layout_marginBottom="32dp"
android:text="GourmetSpyzer!!"
app:backgroundTint="#F44336"
app:layout_constraintBottom_toTopOf="@+id/button2"
app:layout_constraintEnd_toStartOf="@+id/button5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/home" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
android:layout_marginRight="24dp"
android:text="Son épicé"
app:backgroundTint="#F44336"
app:layout_constraintBaseline_toBaselineOf="@+id/button4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/button4" />
</androidx.constraintlayout.widget.ConstraintLayout>
Retour le week-end
Recommended Posts