小程序大小(15 兆字节)太重而无法加载?

     2023-02-25     97

关键词:

【中文标题】小程序大小(15 兆字节)太重而无法加载?【英文标题】:Applet size (15 megabytes) too heavy to load? 【发布时间】:2011-10-19 21:57:15 【问题描述】:

我想知道 15 mega 是不是很重的小程序要加载? 我的主要问题是两个声音文件 (.Au),其重量约为 9 兆字节。 有人对如何使用 mp3 或其他减轻体重的想法提出建议吗? 谢谢

相关代码:

   public class DJ 
    

        private ArrayList<Clip> m_Records = new ArrayList<Clip>();
        private int m_CurrentRecored = 0;
        private Thread m_MusicThread = null;
        private AppletContext m_AppletContext;
        //java.net.URL m_CodeBase;
        //AppletContext ac;

        public DJ() 
        
            try 
            
                createClip(getClass().getResourceAsStream("/Music/train.mp3"));
                createClip(getClass().getResourceAsStream("/Music/machine.mp3"));
            
            catch (Exception ex)
            
                Logger.getLogger(DJ.class.getName()).log(Level.SEVERE, null, ex);
            

        

        private void createClip(java.io.InputStream i_SoundFileStream) throws Exception
        

            InputStream i = new AudioStream(i_SoundFileStream);

            AudioInputStream sound = AudioSystem.getAudioInputStream(i);
            // load the sound into memory (a Clip)
            DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
            Clip clip = (Clip) AudioSystem.getLine(info);
            clip.open(sound);
            m_Records.add(clip);
        

【问题讨论】:

哎呀。 .au 文件基本上是未压缩的原始 pcm(我认为是 8 位/11khz?)肯定要切换到有损压缩格式。它们可能会变成 200kb 的 mp3 之类的。 【参考方案1】:

任何人都可以建议如何使用 mp3 来代替 ..

将 JMF 的 mp3plugin.jar 添加到小程序的运行时类路径(在存档元素中),Java Sound 将能够像打开 wav 或 au 一样打开 MP3。

MP3 插件将无法解析一些更现代的 MP3,这些 MP3 执行非标准操作,例如在 MP3 中包含封面艺术,但使用标准 MP3 格式对其进行编码,并且可以正常处理。


..将 mp3plugin.jar 添加到小程序的运行时类路径(在存档元素中)是什么意思?

<HTML> 
<BODY> 
<APPLET 
    archive="MyGame.jar,mp3plugin.jar" 
    code="GUI.JPanelGameApplet" 
    width=800 
    height=580>
</APPLET> 
</P> 
</BODY> 
</HTML>

请注意,我还将 Archive 更改为 archive(只是为了保持一致)和

code="GUI/JPanelGameApplet.class"

(一般可以容忍,但不正确)到

code="GUI.JPanelGameApplet" 

(假设小程序在GUI 包中)。如果小程序不是在 GUI 包中,则元素应该以不同的方式编写。


我已经下载了 exe 格式的 MP3 插件..

忽略 EXE 链接并下载 Zip!

..我安装了它”

不必费心运行/安装 EXE(EXE 对 Mac 或 Unix/Linux 上的最终用户没有用处)。只需展开 Zip 并将 Jar 添加到运行时类路径

我肯定会在 HTML 中进行代码更改..

这将是“解决问题”(对于嵌入式小程序)。

【讨论】:

好的,但是您能否告诉我更多关于将 mp3plugin.jar 添加到小程序的运行时类路径(在存档元素中?)的意思是什么?这是我当前的 HTML: @AndrewThomson:另一个问题我已经下载了 exe 格式的 MP3 插件,所以我以前可以在我的 netbeans 上播放声音。现在我得到: java.lang.IllegalArgumentException:没有行匹配接口剪辑支持格式 MPEG1L3 44100.0 Hz,每个样本的未知位,立体声,未知帧大小,未知帧速率,受支持。在 javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:459) 为什么会发生谢谢 @AndrewThomson:谢谢链接是download.oracle.com/otn-pub/java/javamp3/1.0-fcs/… 正如我所说,我安装了它,但仍然得到我上面提到的异常。我肯定会在 HTML 中更改代码,但是当我运行时如上所述,我在 Netbeans 中用于调试的小程序建议它尚未工作。 "link is ...exe" 忽略 EXE 链接并下载 Zip! “正如我所说,我安装了它” 不要费心运行/安装 EXE(EXE 对 Mac 或 Unix/Linux 上的最终用户没有用处)。只需展开 Zip 并将 Jar 添加到运行时类路径 “我肯定会在 HTML 中进行代码更改” '问题解决了! “但是,当我在 Netbeans 中运行我的小程序进行调试时,建议它还不能正常工作,如上所述。” 相同的区别。将 Jar 添加到 Netbeans 中的运行时类路径。你如何在 Netbeans 中做到这一点是一个我无法回答的单独问题。我不使用它。 @andrewThomson:您所写内容的一个例外 - 编写 :code="GUI.JPanelGameApplet" 不起作用 - 它无法以这种方式找到小程序。只有 code="GUI/JPanelGameApplet.class" 有效..【参考方案2】:

您可以使用 JLayer 来使用 mp3。

降低小程序大小的一个选项是单独加载音频或将其流式传输,这样您至少可以在获取音乐时拥有一个加载条/图像。

【讨论】:

“单独加载音频” 这很有道理。很少有音频/视频格式可以放在 Zip/Jar 中。它为此类格式提供的进一步压缩通常不超过 5%。【参考方案3】:

查看任何download time calculator — 超过一分钟就可以了。听起来很重。

【讨论】:

AWS Lambda 无服务器资源处理程序返回消息:“解压缩后的大小必须小于 262144000 字节

】AWSLambda无服务器资源处理程序返回消息:“解压缩后的大小必须小于262144000字节【英文标题】:AWSLambdaserverlessResourcehandlerreturnedmessage:"Unzippedsizemustbesmallerthan262144000bytes【发布时间】:2021-11-1602:57:44【问题描述】:我的问题... 查看详情

堆栈的大小是多少-java-xss16m分配16兆字节或16兆字节

我试图通过使用java-Xss160M命令限制分配给线程堆栈的大小来证明我正在使用尾递归。我正在编写一个简单的尾递归算法来查找真正大数的阶乘:/***myProgram**/importjava.math.BigInteger;publicclassTailFactorial{privateBigIntegerfactorial(BigIntegern,BigI... 查看详情

以兆字节为单位获取准确的文件大小?

】以兆字节为单位获取准确的文件大小?【英文标题】:Gettingaccuratefilesizeinmegabytes?【发布时间】:2011-06-0214:27:47【问题描述】:如何获得以MB为单位的准确文件大小?我试过这个:compressed_file_size=File.size("Compressed/#project.tar.bz2")/... 查看详情

C 编程文件大小

...的大小。我得到的值似乎与实际文件大小不符。这是我的程序。请告诉我如何以位、字节、千字节和兆字节显示文件大小。根据我的说法,文件大小应该是288位、36字节、0.03515626千字节和0.000034332兆字节。#include<stdio. 查看详情

如何以 MB(兆字节)为单位获取文件的大小?

】如何以MB(兆字节)为单位获取文件的大小?【英文标题】:HowtogetthesizeofafileinMB(Megabytes)?【发布时间】:2012-02-1720:55:12【问题描述】:我在服务器上有一个zip文件。如何检查文件大小是否大于27MB?Filefile=newFile("U:\\intranet_root\\... 查看详情

如何在ios中将totalBytesExpectedToWrite转换为兆字节

...件。我将成功下载pdf文件,但我想要这么多兆字节的文件大小,但问题是我的大小以字节为单位,但我想要 查看详情

Qt/QML。一种无负载学习图像大小的方法

...一些尺寸可以接受,但有些太大了。当我加载它时,应用程序因为大图像而崩溃。有没有办法在加载之前获取图像大小(兆字节)?这样我可以从列表中删除大图像,并避免加载它们。【问题讨论】:如果您可以访问服务器,也... 查看详情

手机内存单位大小顺序是啥

1、手机内存单位大小换算率约等于1000(1024),从大到小顺序为T、GB、MB(兆Zhao)、KB、B再小就是位了。2、1TG=1024GB。3、1GB=1024MB。4、1MB=1024KB。5、KB:在一般的计量单位中,通常K表示1000。例如:1公里=1000米,经常被写为1km;1公... 查看详情

MySQL 将字节转换为千字节、兆字节、千兆字节

...:20:53【问题描述】:我有一个以字节为单位存储各种文件大小的日志表。我希望能够查询数据库并返回已转换为MBGB等的最小可能浮点数。目前我可以以MB为单位返回值,但如何继续进一步除以最小值并附加单位?SELECTCONCAT(ROUND(SU 查看详情

点击微信小程序为啥一直“加载中”,无法进入

1,小程序有提供一个下拉刷新的功能2,点击按钮重新加载页面没有任何意义,因为如果你要改变页面显示数据,可以直接(请求接口)改变data数据他会自动重新加载,或者重新调用onLoad里面的方法(一般我们把请求数据都放在... 查看详情

将字节转换为兆字节

】将字节转换为兆字节【英文标题】:Convertingbytestomegabytes【发布时间】:2011-01-2220:00:18【问题描述】:我见过三种的方法:兆字节=字节/1000000兆字节=字节/1024/1024兆字节=字节/1024/1000好的,我认为#3是完全错误的,但我已经看到... 查看详情

百度笔试题简述大小端字节序的概念并写一个小程序检测当前机器的大小端字节序(代码片段)

...目:请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)标准答案如下:(1)Littleendian:将低序字节存储在起始地址Bigendian:将高序字节存储在起始地址(2)//实现代码来检测#include<stdio.h>... 查看详情

百度笔试题简述大小端字节序的概念并写一个小程序检测当前机器的大小端字节序(代码片段)

...目:请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)标准答案如下:(1)Littleendian:将低序字节存储在起始地址Bigendian:将高序字节存储在起始地址(2)//实现代码来检测#include<stdio.h>... 查看详情

为啥微信小程序一直在加载中

...是你在打开时,手机卡那了,可以退出微信,重新进入小程序,应该就可以了!追问试过不行参考技术A回答您好,微信小程序打不开而显示加载有几种情况:1、网络问题:因为手机网络导致数据不能上传加载,这个时候就显示... 查看详情

限制 C# 程序使用的最大内存

】限制C#程序使用的最大内存【英文标题】:LimitingthemaximummemoryusedbyaC#program【发布时间】:2021-12-2303:32:42【问题描述】:我需要,也就是说,如果它的内存消耗超过一定的限制,它将立即崩溃,而不是继续向操作系统请求更多。... 查看详情

写一程序,判断运行程序的系统是大字节序还是小字节序?写函数实现大小字节序转换

#include<stdio.h>#include<netinet/in.h>intmain(){inti_num=0x12345678;printf("[0]:0x%x ",*((char*)&i_num+0));printf("[1]:0x%x ",*((char*)&i_num+1));printf("[2]:0x%x ",*((char*)&a 查看详情

如果 jar 文件 > 一定大小,Applet 无法在 Windows 7 上加载 Java 1.7

...2-08-1204:15:40【问题描述】:我们有一个相当复杂的签名小程序,自从我们几年前开发它以来,它一直运行良好。它可以在我们关心的所有操作系统/浏览器配置上与Java1.5和1.6一 查看详情

java基础_基本数据类型(代码片段)

...理解)byte,short,int默认值是0,long默认值是0L。bytea;//byte的大小System.out.println(Byte.SIZE);shortb;//short的大小System.out. 查看详情