So schreibe ich einen Android-Code, wo es 3 Tasten: Aufnahme, Pause, Frame zu nehmen. Mit der Aufnahmetaste wird ein Video aufgenommen, mit der Pause-Taste wird das in VideoView angezeigte Video angehalten und mit der Schaltfläche "Take Frame" wird der angehaltene Frame in imageView angezeigt. Jetzt brauche ich 3 Threads - ein Haupt-Thread ist für Benutzerinteraktion (Pause-Schaltfläche), ein Unter-Thread zeichnet das Video auf (Record-Button) und der zweite Sub-Thread speichert den Frame (Frame-Button).Multi-threading mit verschiedenen Tasten anzeigen: Android
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mvideoview = (VideoView) findViewById(R.id.videoView);
imgview = (ImageView) findViewById(R.id.imageView);
mrecord = (Button) findViewById(R.id.button);
mpause = (Button) findViewById(R.id.button2);
mtakeframe = (Button) findViewById(R.id.button4);
mrecord.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dispatchTakeVideoIntent();
mvideoview.start();
}
});
mpause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mvideoview.pause();
}
});
mtakeframe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Bitmap bmp = takeFrame();
imgview.setImageBitmap(bmp);
}
});
}
private void dispatchTakeVideoIntent() {
//code directs towards the video recorder screen
}
protected void onActivityResult(int requestcode, int resultcode, Intent intent) {
//recorded video sent back and its path stored
}
public Bitmap takeFrame() {
//paused frame shown in imageView
}
habe ich versucht, verschiedene Threads bei onClick (Ansicht Ansicht) von verschiedenen Tasten, aber am Ende setzte die Anwendung abstürzt sagt die Fehlermeldung „Nur den Original-Thread, das eine Ansicht Hierarchie erstellt wird, kann ihren Standpunkt berühren.“ Und auch wenn ich noch einen Button hinzufügen möchte, der PLAY ist (spielt das pausierte Video ab) dann wie soll ich es schreiben, kann ich nicht verstehen. Kann mir hier jemand helfen, ein solches Programm in Android zu fädeln?