我听到一些有关此事的相互矛盾的报道.我想要做的是从URL流式传输mp3文件.我做了几个小时的研究,但是我找不到任何关于如何做到这一点的好指南,甚至找不到我应该使用什么样的音频播放器.
有些朋友告诉我,AVPlayer可以流式播放mp3,但Apple文档说它不能.我已经倾倒了Matt Gallagher的音频流(http://www.cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html),但该代码是很久以前制作的,并且我对此很新,很难通过自动释放和保留以及所有这些.
我正在尝试流式传输的音频是一个来自libsyn服务器的相当大的mp3文件,其格式为URL.
http://traffic.libsyn.com/podcastname/episode.mp3
Run Code Online (Sandbox Code Playgroud)
我需要做的就是抓住它并开始玩,具有暂停和擦洗的能力.首先,CAN AVPlayer流MP3是什么?如果是这样,是否有人可以指向我的任何指南或代码?如果没有,是否有任何类型的音频播放器类可以传输音频?
我已经尝试创建一个AVPlayerItem,用URL初始化,然后将其添加到AVPlayer,但我得到了大量的错误加载...和符号未找到...错误.我很感激有关这方面的任何信息,谢谢!
我最近尝试更改环境变量以设置javac.exe的路径(以及其他内容).它工作正常,突然间,我开始得到这个错误.例如,我声明了一个JAVA_HOME变量
C:\Program Files\Java\jdk1.7.0_25
之后,我补充说
%JAVA_HOME%\bin
到PATH变量,但这给了我一个错误:
"C:\ Program"不被识别为内部或外部命令,可操作命令或批处理文件.
这个错误使得它似乎遇到了"程序文件"中的空间问题.然而,这很奇怪,因为它暂时没有这么做,然后就开始了.此外,还有其他变量,其中的空格可以正常工作.我已经尝试删除变量并重新创建它,在JAVA_HOME周围放置引号(它转到正确的路径,但没有正确找到javac.exe).
关于我可能做什么的任何提示?
这是在Windows 7上.
编辑:
通过控制面板>高级系统设置>环境变量设置环境变量.通过在资源管理器窗口中复制我想要的文件夹的地址来设置变量的值.我将它添加到PATH环境变量中,方法是在前面的变量和末尾的分号之间添加一个空格,如下所示:
C:\Users\Demo_User_1\AppData\Roaming\npm; %JAVA_HOME%
其中JAVA_HOME变量定义如下:
C:\Program Files\Java\jdk1.7.0_25
我通过输入%JAVA_HOME%来通过命令提示符测试变量的值,这就是我得到"'C:\ Program'的结果错误无法识别..."
'set'的结果如下:
C:\Users\Demo_User_1>set
ALLUSERSPROFILE=C:\ProgramData
ANDROID_HOME=C:\Users\Demo_User_1\Desktop\Android\adt-bundle-windows-x86_64-2013
0717\sdk
APPDATA=C:\Users\Demo_User_1\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DEMO_USER_1-HP
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Demo_User_1
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_25
LOCALAPPDATA=C:\Users\Demo_User_1\AppData\Local
LOGONSERVER=\\DEMO_USER_1-HP
NUMBER_OF_PROCESSORS=4
OnlineServices=Online Services
OS=Windows_NT
Path=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Clien
t\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files
(x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;
C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\
x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\I
ntel(R) Management …Run Code Online (Sandbox Code Playgroud) 我的任务是使Web应用程序更适合移动设备.我正在通过PhoneGap运行应用程序来获取移动版本,但是事先使用Ripple Emulator测试其外观.
PhoneGap在应用程序上运行得很好,但是有一种"控制面板",其宽度不会改变,并且它使得这个控制面板占据了移动视图的大部分宽度,这是不好的.
基本上,我需要编辑当前的JavaScript文件,以便检测查看器是否是移动设备,并相应地调整此控制面板元素的宽度.不幸的是,我基本上是所有网络开发的新手..
因此,作为一般性问题,我将如何做到这一点?我认为我需要在实际加载页面之前进行这些调整,但我不确定JS文件中会发生什么.客户端正在使用JQuery Mobile和其他一些库.原始开发者已经在使用了
<meta name="viewport" content="width=device-width, initial-scale=1" />
Run Code Online (Sandbox Code Playgroud)
标签,但它对此控制面板部分没有影响,控制面板元素的宽度是硬编码的.
这是一个非常模糊的问题,但我很感激任何提示或指导.
我正在寻找一种方法来动画视图的重新排序。最初我在 VStack 中实现了视图,如下所示:
@State var someState: State
var body: some View {
VStack {
createView(forType: someState.orderedTypes[0])
createView(forType: someState.orderedTypes[1])
createView(forType: someState.orderedTypes[2])
}
}
func createView(forType type: SomeExampleType) -> some View {
return ...
}
Run Code Online (Sandbox Code Playgroud)
当 @State 变量发生变化时,创建视图的顺序也可能发生变化。我最初尝试钉住
.animate(.easeOut)
Run Code Online (Sandbox Code Playgroud)
在 VStack 的末尾,但它只对子视图中的一些变化进行动画处理,而不是它们的顺序。我也尝试过使用 List 而不是 VStack,但也没有运气。有人对我如何在不诉诸一些 hacky ZStack/padding 废话的情况下完成这个任务有任何建议吗?