Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java Media Framework & Swing, ... нет изображения... 
V
    Опции темы
sith
Дата 13.7.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



... получаеться такая штука... 
создал простенький плэер передал ему файл... сделал ГУИ на AWT ... все работает...

... создал гуи на  swing ... не хочет... панелька управления отображаеться... звук идет.. .а вот видео не отображаеться...
... что не так... подскажите... плиз


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
LSD
Дата 13.7.2007, 12:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Ошибка в 17 строке.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
sith
Дата 13.7.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



... не понял... в какой строке... я о никаких строках не указывал...


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
LSD
Дата 13.7.2007, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



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


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
sith
Дата 13.7.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



хм...
 как пожелаете... 

...
Код

public class PlayerForm extends javax.swing.JFrame implements 
ControllerListener {    
    Player player = null;  
   Component visualComponent  = null;     
   Component controlComponent = null; 
   Component progressBar      = null;  
  
    public PlayerForm() {
        initComponents();
        this.setVisible(true);
        
        this.setPlayer();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
                      
    private void initComponents() {
        mainPanel = new java.awt.Panel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Player");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 444, Short.MAX_VALUE)
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 326, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(mainPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(mainPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        pack();
    }// </editor-fold>                        

    private void formWindowClosing(java.awt.event.WindowEvent evt) {                                   
        System.exit(0);
    }                                  
    
    public void setPlayer(){
        URL url;      
      
           try {  
// здесь прописать урл своего файла...  
               url = new URL("http://80.90.238.61/02.mpg");
                player = Manager.createPlayer(url);
                 player.start();
                
                 player.addControllerListener(this);
             } catch (NoPlayerException ex) {
                 ex.printStackTrace();
             } catch (MalformedURLException ex) {
                 ex.printStackTrace();
             } catch (IOException ex) {
                 ex.printStackTrace();
             }       
           
         
    }
    public synchronized void controllerUpdate(ControllerEvent event) 
    {
       // If we're getting messages from a dead player, 
       // just leave
       
       if (player == null) return;
 
     
       
       if (event instanceof RealizeCompleteEvent) 
       {
         
          if ((visualComponent = player.getVisualComponent()) != null)
             mainPanel.add("Center", visualComponent);
          if ((controlComponent = player.getControlPanelComponent()) != null)
              mainPanel.add("South",controlComponent);
             
       }
       else if (event instanceof CachingControlEvent) 
       {
 
          // Put a progress bar up when downloading starts,
          // take it down when downloading ends.
 
          CachingControlEvent  e = (CachingControlEvent) event;
          CachingControl      cc = e.getCachingControl();
          long cc_progress       = e.getContentProgress();
          long cc_length         = cc.getContentLength(); 
     
          // Add the bar if not already there ...
          
          if (progressBar == null)  
             if ((progressBar = cc.getProgressBarComponent()) != null) 
             {
                add("North", progressBar);
                validate();
             }
     
          // Remove bar when finished ownloading 
          if (progressBar != null)  
             if (cc_progress == cc_length) 
             {
                remove (progressBar);
                progressBar = null;
                validate();
             }
       }
       else if (event instanceof EndOfMediaEvent) 
       {
          // We've reached the end of the media; rewind and
          // start over
          
          player.setMediaTime(new Time(0));
          player.start();
       }
       else if (event instanceof ControllerErrorEvent) 
       {
          // Tell TypicalPlayerApplet.start() to call it a day
          
          player = null;
          Fatal (((ControllerErrorEvent)event).getMessage());
       }
    }
    void Fatal (String s) 
    {
       // Applications will make various choices about what
       // to do here.  We print a message and then exit
       
       System.err.println("FATAL ERROR: " + s);
       throw new Error(s);  // Invoke the uncaught exception
                            // handler System.exit() is another 
                            // choice
    }
    // Variables declaration - do not modify                     
    private java.awt.Panel mainPanel;
    // End of variables declaration                   
    
}



--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
ekr
Дата 13.7.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 3
Всего: 19



Цитата(LSD @  13.7.2007,  12:27 Найти цитируемый пост)
Ошибка в 17 строке. 

)))) +1 ))))


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
sith
Дата 13.7.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



... ну не шутите... smile 
... я же не спрашивал какая у меня ошибка в коде... а интересовался как в свинге выводить подобные вещи...


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
AntonSaburov
Дата 13.7.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата(sith @  13.7.2007,  15:27 Найти цитируемый пост)
а интересовался как в свинге выводить подобные вещи...

А можно теперь полностью пример - потому как один класс, который даже запустить нельзя разбирать сложно.

Дай пример, который реально можно запустить и посмотреть. Иначе разбираться очень долго.
PM MAIL WWW ICQ   Вверх
sith
Дата 13.7.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



... хорошо...
... вот работающий пример аплета который делает всю эту красоту...
... лишь в строке 69 я указал путь к своему файлу... 02.mpg...

... в аплете оно работает... в приложении с AWT гуи оно работает... а в свинге не хочет... звук идет... панель управления есть... а изображения нету...
Код

/*
 * TypicalPlayerApplet.java
 *
 * Created on 12 Июль 2007 г., 13:53
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package newevent;
import java.applet.Applet;
 import java.awt.*;
 import java.lang.String;
 import java.net.URL;
 import java.net.MalformedURLException;
 import java.io.IOException;
 import javax.media.*;
 
 /**
  * This is a Java Applet that demonstrates how to create a simple
  * media player with a media event listener.  It will play the
  * media clip right away and continuously loop.
  *
  * <!-- Sample HTML 
  * <applet code=TypicalPlayerApplet width=320 height=300> 
  * <param name=file value="Astrnmy.avi">
  * </applet>
  * -->
  */    
  
 public class TypicalPlayerApplet extends Applet implements 
ControllerListener
 {
    // media player    
    Player player = null;  
    // component in which video is playing             
    Component visualComponent  = null;   
    // controls gain, position, start, stop
    Component controlComponent = null;   
    // displays progress during download
    Component progressBar      = null;  
     
    /**
     * Read the applet file parameter and create the media
     * player.
     */
     
    public void init() 
    {
       setLayout(new BorderLayout());
       // input file name from html param
       String mediaFile = null;        
       // URL for our media file
       URL url = null;  
       // URL for doc containing applet               
       URL codeBase = getDocumentBase();  
 
       // Get the media filename info.
       // The applet tag should contain the path to the
       // source media file, relative to the html page.
 
     /*  if ((mediaFile =  getParameter("file")) == null)          
          Fatal("Invalid media file parameter");*/
       try 
       {
          // Create an url from the file name and the url to the 
          // document containing this applet.
 
          if ((url = new URL(codeBase,/* mediaFile*/"02.mpg")) == null){
              System.out.println(codeBase);
             Fatal("Can't build URL for " + mediaFile);}
            try {
 
                // Create an instance of a player for this media
                if ((player = Manager.createPlayer(url)) == null)
                   Fatal("Could not create player for "+url);
            } catch (NoPlayerException ex) {
                ex.printStackTrace();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
 
          // Add ourselves as a listener for player's events
             player.addControllerListener(this);
       } 
       catch (MalformedURLException u) 
       {
          Fatal("Invalid media file URL!");
       } 
       catch(IOException i) 
       {
          Fatal("IO exception creating player for "+url);
       }
 
       // This applet assumes that its start() calls  
       // player.start().This causes the player to become
       // Realized. Once Realized, the Applet will get
       //  the visual and control panel components and add 
       // them to the Applet.  These components are not added
       // during init() because they are long operations that
       // would make us appear unresposive to the user.
    }
 
    /**
     * Start media file playback.  This function is called the 
     * first time that the Applet runs and every
     * time the user re-enters the page.
     */    
     
    public void start() 
    {
       // Call start() to prefetch and start the player.
       
       if (player != null) player.start();
    }
 
    /**
     * Stop media file playback and release resources before
     * leaving the page.
     */
     
    public void stop() 
    {
       if (player != null)
       {
          player.stop();
          player.deallocate();
       }
    }
 
    /**
     * This controllerUpdate function must be defined in order
     * to implement a ControllerListener interface.  This
     * function will be called whenever there is a media event.
     */
     
    public synchronized void controllerUpdate(ControllerEvent event) 
    {
       // If we're getting messages from a dead player, 
       // just leave
       
       if (player == null) return;
 
       // When the player is Realized, get the visual
       // and control components and add them to the Applet
       
       if (event instanceof RealizeCompleteEvent) 
       {
          if ((visualComponent = player.getVisualComponent()) != null)
             add("Center", visualComponent);
          if ((controlComponent = player.getControlPanelComponent()) != null)
            // add("South",controlComponent);
             // force the applet to draw the components
             validate();
       }
       else if (event instanceof CachingControlEvent) 
       {
 
          // Put a progress bar up when downloading starts,
          // take it down when downloading ends.
 
          CachingControlEvent  e = (CachingControlEvent) event;
          CachingControl      cc = e.getCachingControl();
          long cc_progress       = e.getContentProgress();
          long cc_length         = cc.getContentLength(); 
     
          // Add the bar if not already there ...
          
          if (progressBar == null)  
             if ((progressBar = cc.getProgressBarComponent()) != null) 
             {
                add("North", progressBar);
                validate();
             }
     
          // Remove bar when finished ownloading 
          if (progressBar != null)  
             if (cc_progress == cc_length) 
             {
                remove (progressBar);
                progressBar = null;
                validate();
             }
       }
       else if (event instanceof EndOfMediaEvent) 
       {
          // We've reached the end of the media; rewind and
          // start over
          
          player.setMediaTime(new Time(0));
          player.start();
       }
       else if (event instanceof ControllerErrorEvent) 
       {
          // Tell TypicalPlayerApplet.start() to call it a day
          
          player = null;
          Fatal (((ControllerErrorEvent)event).getMessage());
       }
    }
 
    void Fatal (String s) 
    {
       // Applications will make various choices about what
       // to do here.  We print a message and then exit
       
       System.err.println("FATAL ERROR: " + s);
       throw new Error(s);  // Invoke the uncaught exception
                            // handler System.exit() is another 
                            // choice
    }
 }




--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
sith
Дата 16.7.2007, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



... ну так что никто не знает... как из этого аплета сделать приложения в Swing


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
ecologist
Дата 16.7.2007, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 452
Регистрация: 28.2.2007

Репутация: 2
Всего: 9



Ну подожди немного - люди ведь, не роботы smile

Смогут разобраться - помогут. Не смогут - придется самому копаться.
PM MAIL   Вверх
sith
Дата 16.7.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



дык... просто интересно на каком это все свете...
... у меня не получаеться... только со Swingом... может ктото пробывал... и


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
sith
Дата 16.7.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 11.2.2007

Репутация: нет
Всего: 1



... все... проблема решена...
... ошибка была конечно не в 17 строке ... но где то рядом... 


--------------------
Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0664 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.