Отображение изображения и воспроизведение аудиоклипа в апплете

#java #applet

#java #апплет

Вопрос:

Я хочу отобразить изображение в апплете и воспроизвести аудиоклип. Я написал следующий код, но он не работает. Я написал код только для изображения, но не имею ни малейшего представления о аудиоклипе. Пожалуйста, дайте мне знать, где я допускаю ошибку..

 import java.applet.*;
import java.awt.*;
import java.net.*;
/*
<applet code="Showimage" width = 400 height = 400>
</applet>
*/
public class Showimage extends Applet
{
URL codb;
Image picture;
public void init()
{
    codb = getCodeBase();
    picture = getImage(codb, "Choti.jpg");
}
public String getAppletInfo()
{
    return "Hi...";
}
public void start() {   }
public void paint(Graphics g)
{
    g.drawImage(picture, 10, 10, this);
    showStatus(getAppletInfo());
}
}
  

Ответ №1:

 import java.applet.*;
import java.awt.*;
import java.net.*;
/*
<applet code="Showimage" width = 400 height = 400>
</applet>
*/
public class Showimage extends Applet
{
    URL codb;
    Image picture;
    AudioClip clip;

    public void init()
    {
        picture = getImage(getCodeBase(), "../images/Beagle.jpg");

        clip  = getAudioClip(getDocumentBase(), "sound/woof.wav");
    }

    public String getAppletInfo()
    {
        return "Hi...";
    }

    public void start() { 
        clip.play();
        showStatus(getAppletInfo());
    }

    public void paint(Graphics g)
    {
        g.drawImage(picture, 10, 10, this);
    }
}
  

Нашел бы изображение и звук с этой структурой каталогов.

  • Изображения
    • Beagle.jpg
  • апплет
    1. звук
      • woof.wav
    2. applet.html

Комментарии:

1. Что означает «.. /images/Beagle.jpg » среднее значение на картинке = getImage(getCodeBase(), «../images/Beagle.jpg «); Что такое .. перед/imges

2. .. в URL-адресе означает каталог ‘родительский каталог . The codebase is not specified in the HTML so it defaults to the same as the document base (the апплета`). Нам нужно извлечь изображение из images каталога, который находится «рядом» с applet каталогом. Посмотрите структуру списка внизу сообщения, она показывает структуру каталогов / файлов, которая будет работать для показанного кода.

3. @ Эндрю Томпсон все еще не понял с объяснением. Вы имеете в виду, что мне нужно сохранить каталог изображений в той же папке, что и в каталоге апплета? Я хочу отобразить изображение из любого каталога моего локального диска. Могу ли я сделать это с помощью этого кода?? Извините, но я новичок в JAVA..

4. Локальный диск не подходит. Только подписанный и доверенный апплет может загружать файлы из локальной файловой системы, и тогда это локальная файловая система компьютера, которую использует конечный пользователь . Если изображение и клип должны использоваться в изолированном апплете, они должны находиться где-то на том же сайте , что и апплет.

5. . Вы хотите сказать, что мне нужно сохранить файл .class и каталог изображений в одной папке??

Ответ №2:

applet Класс и изображение "Choti.jpg" должны находиться в одной папке.

Используйте getImage(java.net.URL) метод для получения изображения из другого местоположения / папки и используйте play(URL,string) play(URL) метод или для воспроизведения аудиоклипа. Для получения более подробной информации посетите учебное пособие по апплету.

Комментарии:

1. @AVD..Is есть какой-нибудь способ отобразить изображение из любой другой папки ..?? А как насчет аудиоклипа? Как я могу его воспроизвести..