Hauptsächlich für die Entwicklung von Android-Anwendungen ist die Java-Sprache das erste Mal, daher denke ich, dass das Layout zerfetzt ist und es Orte gibt, an denen man sich vertiefen kann. Wenn Ihnen das Material nicht gefällt, empfehlen wir den Browser zurück ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇
・ Menschen, die keine 1103 Billionen 354,3 Milliarden Yen haben ・ Menschen, die Süßigkeiten leicht zerdrücken wollen ·Gourmet ・ Star Jun ・ Pon überall! Absturz! Absturz! Pappappa! Wer will
https://www.nicovideo.jp/watch/sm37827489 https://www.youtube.com/watch?v=CkE88pO2VAI
Da es sich um eine streunende App handelt, können Sie sie meiner Meinung nach installieren, wenn Sie auf den Artikel von [gumby] verweisen (https://qiita.com/gumby/items/9e1431b73bdb6b0684d8).
Planung, Anforderungsdefinition usw. => 3 Sekunden Umgebungskonstruktion, Programmierung => 6 Stunden Insgesamt 6 Stunden 3 Sekunden
PON!! CRASH!! UMASOO!! GOURMETSPYZER!!
Drücken Sie die Taste und Trico spricht
Gewürzklang Wenn Sie die Taste> drücken, leuchtet das Blitzlicht und Sie können die Beispielszene problemlos reproduzieren.
Drücken Sie die Taste erneut, um das Blitzlicht auszuschalten
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)
//Abhängig von der Anzahl der Streams
.setMaxStreams(5)
.build();
//WAV laden
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.WAV-Wiedergabe
// play(Geladene ID,Linke Lautstärke,Richtige Lautstärke,Priorität,Schleife,Wiedergabegeschwindigkeit)
soundPool.play(soundPon, 1.0f, 1.0f, 0, 0, 1);
});
button2.setOnClickListener(v -> {
// crash.WAV-Wiedergabe
soundPool.play(soundCresh, 1.0f, 1.0f, 1, 0, 1);
});
button3.setOnClickListener(v -> {
// Umasooo.WAV-Wiedergabe
soundPool.play(soundUmasooo, 1.0f, 1.0f, 1, 0, 1);
});
button4.setOnClickListener(v -> {
// gourmetspyzer.WAV-Wiedergabe
soundPool.play(soundGourmetSpyzer, 1.0f, 1.0f, 1, 0, 1);
});
button5.setOnClickListener(v -> {
soundPool.play(UfoSoundEffect, 1.0f, 1.0f, 1, 0, 1);
//Tun Sie nichts, wenn Sie die Kamera nicht bekommen können
if (McameraID == null) {
return;
}
try {
if (SW == false) {
//Wenn SW falsch ist, setzen Sie den Brennermodus auf wahr und schalten Sie LDE ein
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);
}
//Wenn SW wahr ist, setzen Sie den Brennermodus auf falsch und schalten Sie LDE aus
}
} catch (CameraAccessException e) {
//Fehlerbehandlung
e.printStackTrace();
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
McameraManager.registerTorchCallback(new CameraManager.TorchCallback() {
//Verarbeitung, wenn der Brennermodus geändert wird
@Override
public void onTorchModeChanged(String cameraId, boolean enabled) {
super.onTorchModeChanged(cameraId, enabled);
//Kamera-ID einstellen
McameraID = cameraId;
//Stellen Sie den aktuellen Status auf 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="Gewürzklang"
app:backgroundTint="#F44336"
app:layout_constraintBaseline_toBaselineOf="@+id/button4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/button4" />
</androidx.constraintlayout.widget.ConstraintLayout>
Kehre am Wochenende zurück
Recommended Posts