⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multimediasynchronization.java

📁 java同步播放工具
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                if (controlComponent_video == null)
                    if (( controlComponent_video = 
                          videoPlayer.getControlPanelComponent()) != null) {                    
                        controlPanelHeight_video = controlComponent_video.getPreferredSize().height;                    
                        panel_video.add(controlComponent_video);
                        height += controlPanelHeight_video;
                    }
                if (visualComponent_video == null)
                    if (( visualComponent_video =
                          videoPlayer.getVisualComponent())!= null) {
                        panel_video.add(visualComponent_video);
                        Dimension videoSize = visualComponent_video.getPreferredSize();
                        videoWidth = videoSize.width;
                        videoHeight = videoSize.height;
                        width = videoWidth;
                        height += videoHeight;
                        visualComponent_video.setBounds(0, 0, videoWidth, videoHeight);
                    }

                panel_video.setBounds(0, 35,width, height);
                
                if (controlComponent_video != null) {
                    controlComponent_video.setBounds(0, videoHeight,
                                               width, controlPanelHeight_video);
                    controlComponent_video.invalidate();
                }                
            
            } 
            else if (event instanceof EndOfMediaEvent) {               
                videoPlayer.setMediaTime(new Time(0)); 
                panel_video.removeAll();                           
                image1.setIcon(null);                             
                try{
              	  image2.setIcon(new ImageIcon(file_image2.getDirectory()+
		          file_image2.getFile()));
		          
		}catch(Exception ee){
				  image2.setIcon(new ImageIcon("C:\\java\\2.jpg"));//Image2初始值
		   }                                                             
                try
                {
                	Thread.sleep(10000);
                }catch(Exception ee)
                {}
                AreaOfTxt.setText(null);
            } else if (event instanceof ControllerClosedEvent) {
                panel_video.removeAll();
            }
        }
	}	

	public void audioStart() {
	

		if(file_audio==null || file_audio.getDirectory()==null)
		{        
		    try{
		          URL mediaURL=new URL("file:///C://java//MutilMedia.mp3");
		          audioPlayer=Manager.createPlayer(mediaURL);
		          L_openAudioFile l_openAudioFile =new L_openAudioFile();
		      	  audioPlayer.addControllerListener(l_openAudioFile);
		        }catch(Exception e){}
        }
        if(mediaURL_audio!=null)
        {        	          
        	try{
		          audioPlayer=Manager.createPlayer(mediaURL_audio);
		          L_openAudioFile l_openAudioFile =new L_openAudioFile();
		      	  audioPlayer.addControllerListener(l_openAudioFile);
		        }catch(Exception e){}
        	
        }
        
        if (audioPlayer != null)
            audioPlayer.start();
    }
    
    public void audioStop() {
        if (audioPlayer != null) {
            audioPlayer.stop();
            audioPlayer.deallocate();
        }
    }

    public void audioDestroy() {
    	if (audioPlayer != null) {
        audioPlayer.close();
        }
    }         	
    
    class L_openAudioFile implements ActionListener,ControllerListener{       
		public void actionPerformed(ActionEvent e)
		{		audioDestroy();
			  file_audio=new FileDialog(f,"open Audio File",FileDialog.LOAD);
              file_audio.show(true);                          //显示出文件对话框
              try{
			    if(file_audio.getDirectory()!=null)
			    {
		          URL mediaURL=new URL("file:///"+file_audio.getDirectory()+
		          file_audio.getFile());
		          mediaURL_audio=mediaURL;                  //保存URL
                  audioPlayer=Manager.createPlayer(mediaURL);
		      	  audioPlayer.addControllerListener(this);
		        }		          
		   	  }catch(Exception ee){}
		}
		
		public synchronized void controllerUpdate(ControllerEvent event) {       
            if (audioPlayer == null)
                return;            
			if (event instanceof EndOfMediaEvent) {                
                audioPlayer.setMediaTime(new Time(0));           
                try{
			 	   videoDestroy();
			       }catch(Exception e3){}
			    try{
			        audioDestroy();
			       }catch(Exception e4){}
			       image1.setIcon(null);
			       image2.setIcon(null);
			       try
                {
                	Thread.sleep(5000);
                }catch(Exception ee)
                {}

                AreaOfTxt.setText(null);   
            } else if (event instanceof ControllerClosedEvent) {
            }
        }   
	}

    class L_Start implements ActionListener{       
		public void actionPerformed(ActionEvent e)
		{
			AreaOfTxt.setText(null);			
		     try{
			 	videoDestroy();
			 }catch(Exception e3){}
			 try{
			    audioDestroy();
			 }catch(Exception e4){}
			 videoStart();
			 audioStart();
			AreaOfTxt.append("    我不喜欢应景的歌。而非典却让应景变得也有所不同了。我们\n");	
AreaOfTxt.append("都真正面对过恐惧,惶惑,茫然,无助,我们都渴望。 \n");	

AreaOfTxt.append("    这首歌,几乎召集了台湾乐坛全部精锐力量,不管他们在音乐\n");	
AreaOfTxt.append("上的作为如何,他们都是当真有着一流号召力的星力量,做一个恶\n");	
AreaOfTxt.append("毒的假设,倘若他们集体感染了SARS,我们的歌坛就会出现真空。\n");	

AreaOfTxt.append("    话说回来了,SARS已经找一个地方眯着去了,会不会卷土再来,\n");	
AreaOfTxt.append("还要看我们手牵手能否坚持到底,而非典不再是主旋律的时候,我\n");	
AreaOfTxt.append("们的音乐又会从非典型回到典型,耳朵真正等的,也差不多该来了\n");	
AreaOfTxt.append("吧?\n");	
			 try
                {
                	Thread.sleep(1000);
                }catch(Exception ee)
                {}
			 try{
              	  image1.setIcon(new ImageIcon(file_image1.getDirectory()+
		          file_image1.getFile()));
		          
		}catch(Exception ee){
				  image1.setIcon(new ImageIcon("C:\\java\\1.jpg"));//Image1初始值
		   }
		   
		}
	}

	class L_Help implements ActionListener{
		public void actionPerformed(ActionEvent e)  
	 {
		AreaOfTxt.setText("使用须知:\n");
		AreaOfTxt.append("本实验实现的是基于事件的同步\n");
		AreaOfTxt.append("同步时间与实验给的初步情况一致\n");
		AreaOfTxt.append("使用方法:\n");
		AreaOfTxt.append("分别点击'添加视频''添加音频''打开图像1''打开图像2'加入需要打开的文件\n");
		AreaOfTxt.append("点击‘开始‘即可以进行演示\n");
		
		

}}

    class L_Stop implements ActionListener{       
		public void actionPerformed(ActionEvent e)
		{
			 try{
			 	videoDestroy();
			 }catch(Exception e3){}
			 try{
			    audioDestroy();
			 }catch(Exception e4){}
			 image1.setIcon(null);
			 image2.setIcon(null);
			 AreaOfTxt.setText(null);;
		}
	}
    class L_Image1 implements ActionListener{      
		public void actionPerformed(ActionEvent e)
		{
			 file_image1=new FileDialog(f,"open image1 File",FileDialog.LOAD);
              file_image1.show(true);                                       
		}
			 
	}	

    class L_Image2 implements ActionListener{       
		public void actionPerformed(ActionEvent e)
		{
			 file_image2=new FileDialog(f,"open image2 File",FileDialog.LOAD);
              file_image2.show(true);                          
		}	 
	}     
    public static void main(String args[])
    {
    	
    	MultimediaSynchronization m=new MultimediaSynchronization();
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -