草庐IT

Ruby-mp3info 专辑插图

我让这个gem工作,这样我就可以更改给定歌曲的id3数据。但是,我还需要能够将专辑封面添加到歌曲中。我在给定的URL上有艺术品。我该怎么做?Mp3Info.open(file.path)do|mp3|mp3.tag.title=titlemp3.tag.artist=artistend 最佳答案 目前ruby-mp3info似乎只支持文本框,看这里:https://github.com/moumar/ruby-mp3info/blob/v0.7.1/lib/mp3info/id3v2.rb#L319使用taglib-ruby,它会像

ruby - 如何用 ruby​​ 连接 mp3 文件

我有几个mp3文件作为二进制字符串,具有相同的channel数和相同的采样率。我需要在不使用命令行工具的情况下在内存中连接它们。目前我只是做字符串连接,像这样:out=''mp3s.each{|mp3|out音频播放器可以播放结果,但有一些警告,因为据我所知,mp3header处理不正确。有没有办法以更正确的方式进行连接? 最佳答案 看完这篇articleaboutMP3inrussian我想出了解决方案。您必须能够在http://id3.org/获得完整的ID3规范。但目前似乎处于下降状态。通常Mp3文件有以下格式:[ID3hea

ruby-on-rails - rails 上的 ruby : Paperclip & Ruby Mp3Info

我正在尝试上传一个MP3文件(使用回形针插件),然后立即读取MP3信息(使用Mp3Infogem),这样我就可以获得标题、歌曲长度等。我可以使用回形针成功上传MP3文件,但是当我尝试Mp3Info.open(@song.music.url)时,我收到一条错误消息,提示该文件为空。是否有对文件的正确引用以便Mp3Info可以找到该文件?(注意实际文件位于/public/system/musics/:id/original/:filename.extention)ActionView::TemplateError(emptyfile)online#5ofapp/views/songs/_u

ruby - 创建/编辑 Vagrant base box 以预安装 Recipe

我的VM需要大约10分钟才能启动,因为它需要安装所有说明书。我正在寻找一种方法来编辑现有的(或创建一个新的)基本框,我可以在其中安装所有必需的说明书。因此,每次我启动VM时,说明书都已经安装好,我不必等待太久。这可能吗?如果是这样,有人能给我指出正确的方向吗?我目前使用的是Lucid32基础盒。 最佳答案 听起来你需要调整你的basebox,所以将你需要的所有东西都安装在一个vagrantbox中并将这个box导出为你的新basebox:vagranthalt;vagrantpackage;vagrantboxaddnew_base

ruby - 使用 ruby​​ mp3info 从外部站点读取 mp3 ID3(不加载整个文件)

我在服务器上有一个文件列表,我想从每个文件中只加载和解析ID3。下面的代码加载了整个文件,这在批处理时(显然)非常耗时。require'mp3info'require'open-uri'uri="http://blah.com/blah.mp3"Mp3Info.open(open(uri))do|mp3|putsmp3.tag.titleputsmp3.tag.artistputsmp3.tag.albumputsmp3.tag.tracknumend 最佳答案 这个解决方案适用于id3v2(当前标准)。ID3V1在文件开头没有元数

ruby-on-rails - 如何将 collection_check_boxes 默认选中?

我试图默认选中这行在dbt.text"committed".我尝试了checked的变体&true,但也许我忽略了一些东西。这是Gist的。 最佳答案 这里是关于如何将选中作为默认值添加到collection_check_boxes表单助手的快速回答,因为我花了一些时间才弄明白。把它分成一个block,你可以设置检查和添加类。更多信息,请访问http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_

ruby-on-rails - Rails check_box_tag 如何在 ajaxily 检查时传递值

在我的任务模型的索引页面上,我想为与我的任务数据库表中的bool字段“完成”相对应的每一行显示一个复选框。目前我的代码进入“完成”方法,但它不包含用户刚刚选中的复选框的值(即,如果他们刚刚选中该框,它不会将true传递给我的“完成”方法).我如何传递用户刚刚执行的值-选中或未选中?/views/tasks/index.html.erb{:remote=>true,:url=>url_for(:action=>'complete',:id=>task.id,:complete=>task.complete),:method=>:put},:class=>'input-large'%>/c

sql - 从 sql RUBY/shoes GUI 获取 list_box

我有一个问题如何在列表框中插入数据库中的列表我尝试的例子$row_user=$db.execute("SELECTuserFROMusuarios")$row_user.eachdo|row|@users=list_box:items=>[row[0]]end但我知道他重复了很多列表框尝试过@users=list_box:items=>$row_user但返回值带有["user"] 最佳答案 我用green_shoes试过了,但它应该适用于任何颜色,只需将展平添加到数组$row_user@users=list_box:items=>

ruby - 在 Ruby/Rails 中读取远程 MP3 文件的 ID3 标签?

使用Ruby,如何在不将整个文件下载到磁盘的情况下解析远程mp3文件的ID3标签?此问题已在Java中提出和Silverlight,但没有ruby。编辑:查看Java答案,似乎可以(HTTP支持)只下载文件的尾部,也就是标签所在的位置。这可以用Ruby完成吗? 最佳答案 您使用的是哪个Ruby版本?您要读取哪个ID3标签版本?ID3v1标签位于文件末尾,在最后128个字节中。使用Net::HTTP似乎不可能向前查找文件末尾并只读取最后N个字节。如果你尝试这样做,使用headers={"Range"=>"bytes=128-"},它似

ruby-on-rails - 如何在编辑表单中预填充 collection_check_boxes?

GitHub存储库:https://github.com/Yorkshireman/mywordlist我用谷歌搜索了这个。我确定有办法,可能需要在html选项哈希中添加一些代码,但我无法解决。有什么想法吗?当访问_edit_word_form.html.erb部分单词时,确实有一个或多个类别,类别复选框都未选中,要求用户再次选择它们,即使他们不想更改类别。:title和:description的文本字段是预先填充的(谢天谢地)。_edit_word_form.html.erb:0%>AND/OR...words/index.html.erb相关部分:words_controller.